This is an automated email from the ASF dual-hosted git repository. btellier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
The following commit(s) were added to refs/heads/master by this push: new a493f7d405 [BUILD] Fix unstable cassandra mapper tests (#1362) a493f7d405 is described below commit a493f7d4052dc4a03279c60ee9f4837129872ceb Author: Trần Hồng Quân <55171818+quantranhong1...@users.noreply.github.com> AuthorDate: Tue Dec 20 20:57:35 2022 +0700 [BUILD] Fix unstable cassandra mapper tests (#1362) Currently, for each test, `mapperProvider` is created before BeforeEachCallBack and BeforeEach lead to it sometime points to a closed CqlSession (when max tests e.g 500 played then Cassandra container restart -> close old session and open new session). Current flow for each mapper test: create new final `mapperProvider` (refer to to-be-closed session) -> BeforeEachCallback (restarting Cassandra leads to close old session and create a new session) -> BeforeEach (return the `mapperProvider`refers to closed session). We need to let `mapperProvider` be created in BeforeEach to avoid refer to a closed session. Now the flow: create a null `mapperProvider` -> BeforeEachCallback (restarting Cassandra leads to close old session and create a new session) -> BeforeEach (set a new `mapperProvider` which always refers to the new session) --- ...andraMessageIdMapperRelaxedConsistencyTest.java | 26 ++++++++++++---------- .../mail/CassandraMessageIdMapperTest.java | 7 +++--- ...ssandraMessageMapperRelaxedConsistencyTest.java | 26 ++++++++++++---------- .../cassandra/mail/CassandraMessageMapperTest.java | 7 +++--- 4 files changed, 36 insertions(+), 30 deletions(-) diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdMapperRelaxedConsistencyTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdMapperRelaxedConsistencyTest.java index 5380a66fa9..81c8f8984d 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdMapperRelaxedConsistencyTest.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdMapperRelaxedConsistencyTest.java @@ -33,15 +33,16 @@ class CassandraMessageIdMapperRelaxedConsistencyTest { @Nested class WeakReadConsistency extends MessageIdMapperTest { - private final CassandraMapperProvider mapperProvider = new CassandraMapperProvider( - cassandraCluster.getCassandraCluster(), - CassandraConfiguration.builder() - .messageReadStrongConsistency(false) - .messageWriteStrongConsistency(true) - .build()); + private CassandraMapperProvider mapperProvider; @Override protected CassandraMapperProvider provideMapper() { + mapperProvider = new CassandraMapperProvider( + cassandraCluster.getCassandraCluster(), + CassandraConfiguration.builder() + .messageReadStrongConsistency(false) + .messageWriteStrongConsistency(true) + .build()); return mapperProvider; } @@ -53,15 +54,16 @@ class CassandraMessageIdMapperRelaxedConsistencyTest { @Nested class WeakWriteConsistency extends MessageIdMapperTest { - private final CassandraMapperProvider mapperProvider = new CassandraMapperProvider( - cassandraCluster.getCassandraCluster(), - CassandraConfiguration.builder() - .messageReadStrongConsistency(false) - .messageWriteStrongConsistency(false) - .build()); + private CassandraMapperProvider mapperProvider; @Override protected CassandraMapperProvider provideMapper() { + mapperProvider = new CassandraMapperProvider( + cassandraCluster.getCassandraCluster(), + CassandraConfiguration.builder() + .messageReadStrongConsistency(false) + .messageWriteStrongConsistency(false) + .build()); return mapperProvider; } diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdMapperTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdMapperTest.java index 4af4d7785b..f493c188d3 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdMapperTest.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdMapperTest.java @@ -63,12 +63,13 @@ class CassandraMessageIdMapperTest extends MessageIdMapperTest { @RegisterExtension static CassandraClusterExtension cassandraCluster = new CassandraClusterExtension(MailboxAggregateModule.MODULE); - private final CassandraMapperProvider mapperProvider = new CassandraMapperProvider( - cassandraCluster.getCassandraCluster(), - CassandraConfiguration.DEFAULT_CONFIGURATION); + private CassandraMapperProvider mapperProvider; @Override protected CassandraMapperProvider provideMapper() { + mapperProvider = new CassandraMapperProvider( + cassandraCluster.getCassandraCluster(), + CassandraConfiguration.DEFAULT_CONFIGURATION); return mapperProvider; } diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapperRelaxedConsistencyTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapperRelaxedConsistencyTest.java index f6d65f6c00..efdebf845a 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapperRelaxedConsistencyTest.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapperRelaxedConsistencyTest.java @@ -34,15 +34,16 @@ class CassandraMessageMapperRelaxedConsistencyTest { @Nested class WeakReadConsistency extends MessageMapperTest { - private final CassandraMapperProvider cassandraMapperProvider = new CassandraMapperProvider( - cassandraCluster.getCassandraCluster(), - CassandraConfiguration.builder() - .messageReadStrongConsistency(false) - .messageWriteStrongConsistency(true) - .build()); + private CassandraMapperProvider cassandraMapperProvider; @Override protected MapperProvider createMapperProvider() { + cassandraMapperProvider = new CassandraMapperProvider( + cassandraCluster.getCassandraCluster(), + CassandraConfiguration.builder() + .messageReadStrongConsistency(false) + .messageWriteStrongConsistency(true) + .build()); return cassandraMapperProvider; } @@ -54,15 +55,16 @@ class CassandraMessageMapperRelaxedConsistencyTest { @Nested class WeakWriteConsistency extends MessageMapperTest { - private final CassandraMapperProvider cassandraMapperProvider = new CassandraMapperProvider( - cassandraCluster.getCassandraCluster(), - CassandraConfiguration.builder() - .messageReadStrongConsistency(false) - .messageWriteStrongConsistency(false) - .build()); + private CassandraMapperProvider cassandraMapperProvider; @Override protected MapperProvider createMapperProvider() { + cassandraMapperProvider = new CassandraMapperProvider( + cassandraCluster.getCassandraCluster(), + CassandraConfiguration.builder() + .messageReadStrongConsistency(false) + .messageWriteStrongConsistency(false) + .build()); return cassandraMapperProvider; } diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapperTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapperTest.java index dfc02de3ac..a459de58ff 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapperTest.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapperTest.java @@ -60,12 +60,13 @@ class CassandraMessageMapperTest extends MessageMapperTest { @RegisterExtension static CassandraClusterExtension cassandraCluster = new CassandraClusterExtension(MailboxAggregateModule.MODULE); - private final CassandraMapperProvider cassandraMapperProvider = new CassandraMapperProvider( - cassandraCluster.getCassandraCluster(), - CassandraConfiguration.DEFAULT_CONFIGURATION); + private CassandraMapperProvider cassandraMapperProvider; @Override protected MapperProvider createMapperProvider() { + cassandraMapperProvider = new CassandraMapperProvider( + cassandraCluster.getCassandraCluster(), + CassandraConfiguration.DEFAULT_CONFIGURATION); return cassandraMapperProvider; } --------------------------------------------------------------------- To unsubscribe, e-mail: notifications-unsubscr...@james.apache.org For additional commands, e-mail: notifications-h...@james.apache.org