You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ro...@apache.org on 2019/03/13 09:40:00 UTC

[james-project] 02/03: MAILBOX-374 Drop Cassandra chunk.size.flags.update configuration

This is an automated email from the ASF dual-hosted git repository.

rouazana pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit db0bc922adac7f5d06dc2a7c55ef33fef64bdc1f
Author: Gautier DI FOLCO <gd...@linagora.com>
AuthorDate: Wed Feb 27 15:50:56 2019 +0100

    MAILBOX-374 Drop Cassandra chunk.size.flags.update configuration
---
 .../init/configuration/CassandraConfiguration.java | 28 ++--------------------
 .../init/CassandraConfigurationReadingTest.java    | 11 ++++-----
 .../cassandra/init/CassandraConfigurationTest.java | 17 -------------
 .../src/test/resources/cassandra.properties        | 11 ++++-----
 .../destination/conf/cassandra.properties          |  1 -
 .../destination/conf/cassandra.properties          |  1 -
 .../destination/conf/cassandra.properties          |  1 -
 .../destination/conf/cassandra.properties          |  1 -
 .../resources/modules/mailbox/cassandra.properties | 11 ++++-----
 src/site/xdoc/server/config-cassandra.xml          |  2 --
 10 files changed, 17 insertions(+), 67 deletions(-)

diff --git a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/configuration/CassandraConfiguration.java b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/configuration/CassandraConfiguration.java
index e87249a..69a8736 100644
--- a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/configuration/CassandraConfiguration.java
+++ b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/configuration/CassandraConfiguration.java
@@ -52,7 +52,6 @@ public class CassandraConfiguration {
     private static final String MAILBOX_MAX_RETRY_MESSAGE_FLAGS_UPDATE = "mailbox.max.retry.message.flags.update";
     private static final String MAILBOX_MAX_RETRY_MESSAGE_ID_FLAGS_UPDATE = "mailbox.max.retry.message.id.flags.update";
     private static final String FETCH_ADVANCE_ROW_COUNT = "fetch.advance.row.count";
-    private static final String CHUNK_SIZE_FLAGS_UPDATE = "chunk.size.flags.update";
     private static final String CHUNK_SIZE_MESSAGE_READ = "chunk.size.message.read";
     private static final String CHUNK_SIZE_EXPUNGE = "chunk.size.expunge";
     private static final String BLOB_PART_SIZE = "mailbox.blob.part.size";
@@ -64,7 +63,6 @@ public class CassandraConfiguration {
     public static class Builder {
         private Optional<Integer> messageReadChunkSize = Optional.empty();
         private Optional<Integer> expungeChunkSize = Optional.empty();
-        private Optional<Integer> flagsUpdateChunkSize = Optional.empty();
         private Optional<Integer> flagsUpdateMessageIdMaxRetry = Optional.empty();
         private Optional<Integer> flagsUpdateMessageMaxRetry = Optional.empty();
         private Optional<Integer> modSeqMaxRetry = Optional.empty();
@@ -87,12 +85,6 @@ public class CassandraConfiguration {
             return this;
         }
 
-        public Builder flagsUpdateChunkSize(int value) {
-            Preconditions.checkArgument(value > 0, "flagsUpdateChunkSize needs to be strictly positive");
-            this.flagsUpdateChunkSize = Optional.of(value);
-            return this;
-        }
-
         public Builder flagsUpdateMessageIdMaxRetry(int value) {
             Preconditions.checkArgument(value > 0, "flagsUpdateMessageIdMaxRetry needs to be strictly positive");
             this.flagsUpdateMessageIdMaxRetry = Optional.of(value);
@@ -157,11 +149,6 @@ public class CassandraConfiguration {
             return this;
         }
 
-        public Builder flagsUpdateChunkSize(Optional<Integer> value) {
-            value.ifPresent(this::flagsUpdateChunkSize);
-            return this;
-        }
-
         public Builder flagsUpdateMessageIdMaxRetry(Optional<Integer> value) {
             value.ifPresent(this::flagsUpdateMessageIdMaxRetry);
             return this;
@@ -211,7 +198,6 @@ public class CassandraConfiguration {
             return new CassandraConfiguration(aclMaxRetry.orElse(DEFAULT_ACL_MAX_RETRY),
                 messageReadChunkSize.orElse(DEFAULT_MESSAGE_CHUNK_SIZE_ON_READ),
                 expungeChunkSize.orElse(DEFAULT_EXPUNGE_BATCH_SIZE),
-                flagsUpdateChunkSize.orElse(DEFAULT_UPDATE_FLAGS_BATCH_SIZE),
                 flagsUpdateMessageIdMaxRetry.orElse(DEFAULT_FLAGS_UPDATE_MESSAGE_ID_MAX_RETRY),
                 flagsUpdateMessageMaxRetry.orElse(DEFAULT_FLAGS_UPDATE_MESSAGE_MAX_RETRY),
                 modSeqMaxRetry.orElse(DEFAULT_MODSEQ_MAX_RETRY),
@@ -241,8 +227,6 @@ public class CassandraConfiguration {
                 propertiesConfiguration.getInteger(MAILBOX_MAX_RETRY_MESSAGE_ID_FLAGS_UPDATE, null)))
             .fetchNextPageInAdvanceRow(Optional.ofNullable(
                 propertiesConfiguration.getInteger(FETCH_ADVANCE_ROW_COUNT, null)))
-            .flagsUpdateChunkSize(Optional.ofNullable(
-                propertiesConfiguration.getInteger(CHUNK_SIZE_FLAGS_UPDATE, null)))
             .messageReadChunkSize(Optional.ofNullable(
                 propertiesConfiguration.getInteger(CHUNK_SIZE_MESSAGE_READ, null)))
             .expungeChunkSize(Optional.ofNullable(
@@ -258,7 +242,6 @@ public class CassandraConfiguration {
 
     private final int messageReadChunkSize;
     private final int expungeChunkSize;
-    private final int flagsUpdateChunkSize;
     private final int flagsUpdateMessageIdMaxRetry;
     private final int flagsUpdateMessageMaxRetry;
     private final int modSeqMaxRetry;
@@ -271,7 +254,7 @@ public class CassandraConfiguration {
 
     @VisibleForTesting
     CassandraConfiguration(int aclMaxRetry, int messageReadChunkSize, int expungeChunkSize,
-                           int flagsUpdateChunkSize, int flagsUpdateMessageIdMaxRetry, int flagsUpdateMessageMaxRetry,
+                           int flagsUpdateMessageIdMaxRetry, int flagsUpdateMessageMaxRetry,
                            int modSeqMaxRetry, int uidMaxRetry, int fetchNextPageInAdvanceRow,
                            int blobPartSize, final int attachmentV2MigrationReadTimeout, int messageAttachmentIdsReadTimeout) {
         this.aclMaxRetry = aclMaxRetry;
@@ -282,7 +265,6 @@ public class CassandraConfiguration {
         this.modSeqMaxRetry = modSeqMaxRetry;
         this.uidMaxRetry = uidMaxRetry;
         this.fetchNextPageInAdvanceRow = fetchNextPageInAdvanceRow;
-        this.flagsUpdateChunkSize = flagsUpdateChunkSize;
         this.blobPartSize = blobPartSize;
         this.attachmentV2MigrationReadTimeout = attachmentV2MigrationReadTimeout;
         this.messageAttachmentIdsReadTimeout = messageAttachmentIdsReadTimeout;
@@ -292,10 +274,6 @@ public class CassandraConfiguration {
         return blobPartSize;
     }
 
-    public int getFlagsUpdateChunkSize() {
-        return flagsUpdateChunkSize;
-    }
-
     public int getAclMaxRetry() {
         return aclMaxRetry;
     }
@@ -348,7 +326,6 @@ public class CassandraConfiguration {
                 && Objects.equals(this.flagsUpdateMessageMaxRetry, that.flagsUpdateMessageMaxRetry)
                 && Objects.equals(this.modSeqMaxRetry, that.modSeqMaxRetry)
                 && Objects.equals(this.uidMaxRetry, that.uidMaxRetry)
-                && Objects.equals(this.flagsUpdateChunkSize, that.flagsUpdateChunkSize)
                 && Objects.equals(this.fetchNextPageInAdvanceRow, that.fetchNextPageInAdvanceRow)
                 && Objects.equals(this.blobPartSize, that.blobPartSize)
                 && Objects.equals(this.attachmentV2MigrationReadTimeout, that.attachmentV2MigrationReadTimeout)
@@ -360,7 +337,7 @@ public class CassandraConfiguration {
     @Override
     public final int hashCode() {
         return Objects.hash(aclMaxRetry, messageReadChunkSize, expungeChunkSize, flagsUpdateMessageIdMaxRetry,
-            flagsUpdateMessageMaxRetry, modSeqMaxRetry, uidMaxRetry, fetchNextPageInAdvanceRow, flagsUpdateChunkSize,
+            flagsUpdateMessageMaxRetry, modSeqMaxRetry, uidMaxRetry, fetchNextPageInAdvanceRow,
             blobPartSize, attachmentV2MigrationReadTimeout, messageAttachmentIdsReadTimeout);
     }
 
@@ -374,7 +351,6 @@ public class CassandraConfiguration {
             .add("flagsUpdateMessageMaxRetry", flagsUpdateMessageMaxRetry)
             .add("modSeqMaxRetry", modSeqMaxRetry)
             .add("fetchNextPageInAdvanceRow", fetchNextPageInAdvanceRow)
-            .add("flagsUpdateChunkSize", flagsUpdateChunkSize)
             .add("uidMaxRetry", uidMaxRetry)
             .add("blobPartSize", blobPartSize)
             .add("attachmentV2MigrationReadTimeout", attachmentV2MigrationReadTimeout)
diff --git a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/init/CassandraConfigurationReadingTest.java b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/init/CassandraConfigurationReadingTest.java
index efa72f7..860d0d7 100644
--- a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/init/CassandraConfigurationReadingTest.java
+++ b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/init/CassandraConfigurationReadingTest.java
@@ -48,12 +48,11 @@ public class CassandraConfigurationReadingTest {
                 .flagsUpdateMessageMaxRetry(4)
                 .flagsUpdateMessageIdMaxRetry(5)
                 .fetchNextPageInAdvanceRow(6)
-                .flagsUpdateChunkSize(7)
-                .messageReadChunkSize(8)
-                .expungeChunkSize(9)
-                .blobPartSize(10)
-                .attachmentV2MigrationReadTimeout(11)
-                .messageAttachmentIdsReadTimeout(12)
+                .messageReadChunkSize(7)
+                .expungeChunkSize(8)
+                .blobPartSize(9)
+                .attachmentV2MigrationReadTimeout(10)
+                .messageAttachmentIdsReadTimeout(11)
                 .build());
     }
 
diff --git a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/init/CassandraConfigurationTest.java b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/init/CassandraConfigurationTest.java
index 2a60cad..5edb3fb 100644
--- a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/init/CassandraConfigurationTest.java
+++ b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/init/CassandraConfigurationTest.java
@@ -88,20 +88,6 @@ public class CassandraConfigurationTest {
     }
 
     @Test
-    public void flagsUpdateChunkSizeShouldThrowOnNegativeValue() {
-        assertThatThrownBy(() -> CassandraConfiguration.builder()
-                .flagsUpdateChunkSize(-1))
-            .isInstanceOf(IllegalArgumentException.class);
-    }
-
-    @Test
-    public void flagsUpdateChunkSizeShouldThrowOnZero() {
-        assertThatThrownBy(() -> CassandraConfiguration.builder()
-                .flagsUpdateChunkSize(0))
-            .isInstanceOf(IllegalArgumentException.class);
-    }
-
-    @Test
     public void flagsUpdateMessageIdMaxRetryShouldThrowOnNegativeValue() {
         assertThatThrownBy(() -> CassandraConfiguration.builder()
                 .flagsUpdateMessageIdMaxRetry(-1))
@@ -207,7 +193,6 @@ public class CassandraConfigurationTest {
         int fetchNextPageInAdvanceRow = 4;
         int flagsUpdateMessageMaxRetry = 5;
         int flagsUpdateMessageIdMaxRetry = 6;
-        int flagsUpdateChunkSize = 7;
         int messageReadChunkSize = 8;
         int expungeChunkSize = 9;
         int blobPartSize = 10;
@@ -221,7 +206,6 @@ public class CassandraConfigurationTest {
             .fetchNextPageInAdvanceRow(fetchNextPageInAdvanceRow)
             .flagsUpdateMessageMaxRetry(flagsUpdateMessageMaxRetry)
             .flagsUpdateMessageIdMaxRetry(flagsUpdateMessageIdMaxRetry)
-            .flagsUpdateChunkSize(flagsUpdateChunkSize)
             .messageReadChunkSize(messageReadChunkSize)
             .expungeChunkSize(expungeChunkSize)
             .blobPartSize(blobPartSize)
@@ -235,7 +219,6 @@ public class CassandraConfigurationTest {
         softly.assertThat(configuration.getFetchNextPageInAdvanceRow()).isEqualTo(fetchNextPageInAdvanceRow);
         softly.assertThat(configuration.getFlagsUpdateMessageMaxRetry()).isEqualTo(flagsUpdateMessageMaxRetry);
         softly.assertThat(configuration.getFlagsUpdateMessageIdMaxRetry()).isEqualTo(flagsUpdateMessageIdMaxRetry);
-        softly.assertThat(configuration.getFlagsUpdateChunkSize()).isEqualTo(flagsUpdateChunkSize);
         softly.assertThat(configuration.getMessageReadChunkSize()).isEqualTo(messageReadChunkSize);
         softly.assertThat(configuration.getExpungeChunkSize()).isEqualTo(expungeChunkSize);
         softly.assertThat(configuration.getBlobPartSize()).isEqualTo(blobPartSize);
diff --git a/backends-common/cassandra/src/test/resources/cassandra.properties b/backends-common/cassandra/src/test/resources/cassandra.properties
index 5a37b4e..27f4430 100644
--- a/backends-common/cassandra/src/test/resources/cassandra.properties
+++ b/backends-common/cassandra/src/test/resources/cassandra.properties
@@ -4,9 +4,8 @@ mailbox.max.retry.uid=3
 mailbox.max.retry.message.flags.update=4
 mailbox.max.retry.message.id.flags.update=5
 fetch.advance.row.count=6
-chunk.size.flags.update=7
-chunk.size.message.read=8
-chunk.size.expunge=9
-mailbox.blob.part.size=10
-attachment.v2.migration.read.timeout=11
-message.attachmentids.read.timeout=12
+chunk.size.message.read=7
+chunk.size.expunge=8
+mailbox.blob.part.size=9
+attachment.v2.migration.read.timeout=10
+message.attachmentids.read.timeout=11
diff --git a/dockerfiles/run/guice/cassandra-ldap/destination/conf/cassandra.properties b/dockerfiles/run/guice/cassandra-ldap/destination/conf/cassandra.properties
index 0ce3a25..a2ec35e 100644
--- a/dockerfiles/run/guice/cassandra-ldap/destination/conf/cassandra.properties
+++ b/dockerfiles/run/guice/cassandra-ldap/destination/conf/cassandra.properties
@@ -14,7 +14,6 @@ cassandra.retryConnection.minDelay=5000
 # mailbox.max.retry.message.flags.update=1000
 # mailbox.max.retry.message.id.flags.update=1000
 # fetch.advance.row.count=1000
-# chunk.size.flags.update=20
 # chunk.size.message.read=100
 # chunk.size.expunge=100
 # mailbox.blob.part.size=102400
diff --git a/dockerfiles/run/guice/cassandra-rabbitmq-ldap/destination/conf/cassandra.properties b/dockerfiles/run/guice/cassandra-rabbitmq-ldap/destination/conf/cassandra.properties
index 27ef4a8..a3f91b7 100644
--- a/dockerfiles/run/guice/cassandra-rabbitmq-ldap/destination/conf/cassandra.properties
+++ b/dockerfiles/run/guice/cassandra-rabbitmq-ldap/destination/conf/cassandra.properties
@@ -24,7 +24,6 @@ cassandra.retryConnection.minDelay=5000
 # mailbox.max.retry.message.flags.update=1000
 # mailbox.max.retry.message.id.flags.update=1000
 # fetch.advance.row.count=1000
-# chunk.size.flags.update=20
 # chunk.size.message.read=100
 # chunk.size.expunge=100
 # mailbox.blob.part.size=102400
diff --git a/dockerfiles/run/guice/cassandra-rabbitmq/destination/conf/cassandra.properties b/dockerfiles/run/guice/cassandra-rabbitmq/destination/conf/cassandra.properties
index 27ef4a8..a3f91b7 100644
--- a/dockerfiles/run/guice/cassandra-rabbitmq/destination/conf/cassandra.properties
+++ b/dockerfiles/run/guice/cassandra-rabbitmq/destination/conf/cassandra.properties
@@ -24,7 +24,6 @@ cassandra.retryConnection.minDelay=5000
 # mailbox.max.retry.message.flags.update=1000
 # mailbox.max.retry.message.id.flags.update=1000
 # fetch.advance.row.count=1000
-# chunk.size.flags.update=20
 # chunk.size.message.read=100
 # chunk.size.expunge=100
 # mailbox.blob.part.size=102400
diff --git a/dockerfiles/run/guice/cassandra/destination/conf/cassandra.properties b/dockerfiles/run/guice/cassandra/destination/conf/cassandra.properties
index 27ef4a8..a3f91b7 100644
--- a/dockerfiles/run/guice/cassandra/destination/conf/cassandra.properties
+++ b/dockerfiles/run/guice/cassandra/destination/conf/cassandra.properties
@@ -24,7 +24,6 @@ cassandra.retryConnection.minDelay=5000
 # mailbox.max.retry.message.flags.update=1000
 # mailbox.max.retry.message.id.flags.update=1000
 # fetch.advance.row.count=1000
-# chunk.size.flags.update=20
 # chunk.size.message.read=100
 # chunk.size.expunge=100
 # mailbox.blob.part.size=102400
diff --git a/server/container/guice/cassandra-guice/src/test/resources/modules/mailbox/cassandra.properties b/server/container/guice/cassandra-guice/src/test/resources/modules/mailbox/cassandra.properties
index 5a37b4e..27f4430 100644
--- a/server/container/guice/cassandra-guice/src/test/resources/modules/mailbox/cassandra.properties
+++ b/server/container/guice/cassandra-guice/src/test/resources/modules/mailbox/cassandra.properties
@@ -4,9 +4,8 @@ mailbox.max.retry.uid=3
 mailbox.max.retry.message.flags.update=4
 mailbox.max.retry.message.id.flags.update=5
 fetch.advance.row.count=6
-chunk.size.flags.update=7
-chunk.size.message.read=8
-chunk.size.expunge=9
-mailbox.blob.part.size=10
-attachment.v2.migration.read.timeout=11
-message.attachmentids.read.timeout=12
+chunk.size.message.read=7
+chunk.size.expunge=8
+mailbox.blob.part.size=9
+attachment.v2.migration.read.timeout=10
+message.attachmentids.read.timeout=11
diff --git a/src/site/xdoc/server/config-cassandra.xml b/src/site/xdoc/server/config-cassandra.xml
index 505d5f4..53f47c6 100644
--- a/src/site/xdoc/server/config-cassandra.xml
+++ b/src/site/xdoc/server/config-cassandra.xml
@@ -110,8 +110,6 @@
         <dd>Optional. Defaults to 1000.<br/> Controls the number of retries upon Cassandra flags update, in MessageIdMapper.</dd>
         <dt><strong>fetch.advance.row.count</strong></dt>
         <dd>Optional. Defaults to 1000.<br/> Controls the number of remaining rows we should wait before prefetch when paging.</dd>
-        <dt><strong>chunk.size.flags.update</strong></dt>
-        <dd>Optional. Defaults to 20.<br/> Controls the number of messages flags updates to be performed concurently by MessageMapper.</dd>
         <dt><strong>chunk.size.message.read</strong></dt>
         <dd>Optional. Defaults to 100.<br/> Controls the number of messages to be retrieved in parallel.</dd>
         <dt><strong>chunk.size.expunge</strong></dt>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org