You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by rc...@apache.org on 2020/12/30 03:35:34 UTC
[james-project] 22/29: JAMES-3484 Test CassandraMailboxManager with
batchSize
This is an automated email from the ASF dual-hosted git repository.
rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit efead777d896f54b06c90c5aa865fdf1a0df7c97
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Fri Dec 25 16:39:50 2020 +0700
JAMES-3484 Test CassandraMailboxManager with batchSize
---
.../cassandra/CassandraMailboxManagerProvider.java | 14 ++++++++++--
.../cassandra/CassandraMailboxManagerTest.java | 26 ++++++++++++++++++++++
2 files changed, 38 insertions(+), 2 deletions(-)
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerProvider.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerProvider.java
index b6fd1fa..e497c3f 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerProvider.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerProvider.java
@@ -71,6 +71,14 @@ public class CassandraMailboxManagerProvider {
public static CassandraMailboxManager provideMailboxManager(CassandraCluster cassandra,
PreDeletionHooks preDeletionHooks,
CassandraConfiguration cassandraConfiguration) {
+ return provideMailboxManager(cassandra, preDeletionHooks, cassandraConfiguration,
+ MailboxManagerConfiguration.DEFAULT);
+ }
+
+ public static CassandraMailboxManager provideMailboxManager(CassandraCluster cassandra,
+ PreDeletionHooks preDeletionHooks,
+ CassandraConfiguration cassandraConfiguration,
+ MailboxManagerConfiguration mailboxManagerConfiguration) {
CassandraMessageId.Factory messageIdFactory = new CassandraMessageId.Factory();
CassandraMailboxSessionMapperFactory mapperFactory = TestCassandraMailboxSessionMapperFactory.forTests(
@@ -78,12 +86,14 @@ public class CassandraMailboxManagerProvider {
messageIdFactory,
cassandraConfiguration);
- return provideMailboxManager(cassandra.getConf(), preDeletionHooks, mapperFactory, messageIdFactory);
+ return provideMailboxManager(cassandra.getConf(), preDeletionHooks, mapperFactory,
+ mailboxManagerConfiguration, messageIdFactory);
}
private static CassandraMailboxManager provideMailboxManager(Session session,
PreDeletionHooks preDeletionHooks,
CassandraMailboxSessionMapperFactory mapperFactory,
+ MailboxManagerConfiguration mailboxManagerConfiguration,
MessageId.Factory messageIdFactory) {
MailboxACLResolver aclResolver = new UnionMailboxACLResolver();
GroupMembershipResolver groupMembershipResolver = new SimpleGroupMembershipResolver();
@@ -111,7 +121,7 @@ public class CassandraMailboxManagerProvider {
CassandraMailboxManager manager = new CassandraMailboxManager(mapperFactory, sessionProvider, new NoMailboxPathLocker(),
messageParser, messageIdFactory, eventBus, annotationManager, storeRightManager,
- quotaComponents, index, MailboxManagerConfiguration.DEFAULT, preDeletionHooks);
+ quotaComponents, index, mailboxManagerConfiguration, preDeletionHooks);
eventBus.register(quotaUpdater);
eventBus.register(new MailboxAnnotationListener(mapperFactory, sessionProvider));
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerTest.java
index 6dc9026..cc974d9 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerTest.java
@@ -76,6 +76,8 @@ import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.mailbox.model.MessageAttachmentMetadata;
import org.apache.james.mailbox.model.MessageRange;
import org.apache.james.mailbox.model.MessageResult;
+import org.apache.james.mailbox.store.BatchSizes;
+import org.apache.james.mailbox.store.MailboxManagerConfiguration;
import org.apache.james.mailbox.store.PreDeletionHooks;
import org.apache.james.mailbox.store.StoreSubscriptionManager;
import org.apache.james.mailbox.store.mail.MessageMapper;
@@ -846,4 +848,28 @@ public class CassandraMailboxManagerTest extends MailboxManagerTest<CassandraMai
cassandra.getCassandraConsistenciesConfiguration());
}
}
+
+ @Nested
+ class WithBatchSize extends MailboxManagerTest<CassandraMailboxManager> {
+ @Override
+ protected CassandraMailboxManager provideMailboxManager() {
+ CassandraMailboxManager mgt = CassandraMailboxManagerProvider.provideMailboxManager(
+ cassandra.getCassandraCluster(),
+ new PreDeletionHooks(preDeletionHooks(), new RecordingMetricFactory()),
+ CassandraConfiguration.DEFAULT_CONFIGURATION,
+ new MailboxManagerConfiguration(BatchSizes.uniqueBatchSize(5)));
+ return mgt;
+ }
+
+ @Override
+ protected SubscriptionManager provideSubscriptionManager() {
+ return new StoreSubscriptionManager(provideMailboxManager().getMapperFactory());
+ }
+
+ @Override
+ protected EventBus retrieveEventBus(CassandraMailboxManager mailboxManager) {
+ return mailboxManager.getEventBus();
+ }
+
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org