Repository: james-project Updated Branches: refs/heads/master ed06af090 -> bdd8dd942
JAMES-1999 Increase init waiting time for each retrying times Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/58f0e725 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/58f0e725 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/58f0e725 Branch: refs/heads/master Commit: 58f0e725f759ad55af7077d82ca5af6fd2b32f54 Parents: ed06af0 Author: quynhn <[email protected]> Authored: Thu May 11 10:45:42 2017 +0700 Committer: quynhn <[email protected]> Committed: Wed May 24 14:43:40 2017 +0700 ---------------------------------------------------------------------- .../james/modules/mailbox/CassandraSessionModule.java | 3 ++- .../modules/mailbox/ElasticSearchMailboxModule.java | 3 ++- .../test/java/org/apache/james/DockerCassandraRule.java | 2 +- .../java/org/apache/james/DockerElasticSearchRule.java | 2 +- .../java/org/apache/james/utils/RetryExecutorUtil.java | 12 ++++++++---- 5 files changed, 14 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/58f0e725/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java ---------------------------------------------------------------------- diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java index ecaca94..d4569f1 100644 --- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java +++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java @@ -19,6 +19,7 @@ package org.apache.james.modules.mailbox; import java.io.FileNotFoundException; +import java.time.LocalDateTime; import java.util.Arrays; import java.util.List; import java.util.Optional; @@ -115,7 +116,7 @@ public class CassandraSessionModule extends AbstractModule { } private RetryCallable<Cluster> getClusterRetryCallable(PropertiesConfiguration configuration, List<Host> servers, QueryLoggerConfiguration queryLoggerConfiguration) { - LOGGER.info("Trying to connect to Cassandra service"); + LOGGER.info("Trying to connect to Cassandra service at {}", LocalDateTime.now()); return context -> ClusterWithKeyspaceCreatedFactory .config(ClusterBuilder.builder() http://git-wip-us.apache.org/repos/asf/james-project/blob/58f0e725/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java ---------------------------------------------------------------------- diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java index e4a1011..4439411 100644 --- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java +++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java @@ -20,6 +20,7 @@ package org.apache.james.modules.mailbox; import java.io.FileNotFoundException; +import java.time.LocalDateTime; import java.util.Optional; import java.util.concurrent.ExecutionException; @@ -104,7 +105,7 @@ public class ElasticSearchMailboxModule extends AbstractModule { } private Client connectToCluster(PropertiesConfiguration propertiesReader) throws ConfigurationException { - LOGGER.info("Trying to connect to ElasticSearch service"); + LOGGER.info("Trying to connect to ElasticSearch service at {}", LocalDateTime.now()); return createIndexAndMapping(createClient(propertiesReader), propertiesReader); } http://git-wip-us.apache.org/repos/asf/james-project/blob/58f0e725/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DockerCassandraRule.java ---------------------------------------------------------------------- diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DockerCassandraRule.java b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DockerCassandraRule.java index f5849e6..31c6685 100644 --- a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DockerCassandraRule.java +++ b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DockerCassandraRule.java @@ -47,7 +47,7 @@ public class DockerCassandraRule implements GuiceModuleTestRule { configuration.addProperty("cassandra.nodes", getIp() + ":" + CASSANDRA_PORT); configuration.addProperty("cassandra.keyspace", "apache_james"); configuration.addProperty("cassandra.replication.factor", 1); - configuration.addProperty("cassandra.retryConnection.maxRetries", 10); + configuration.addProperty("cassandra.retryConnection.maxRetries", 20); configuration.addProperty("cassandra.retryConnection.minDelay", 5000); return configuration; http://git-wip-us.apache.org/repos/asf/james-project/blob/58f0e725/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DockerElasticSearchRule.java ---------------------------------------------------------------------- diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DockerElasticSearchRule.java b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DockerElasticSearchRule.java index 3598b4f..1102238 100644 --- a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DockerElasticSearchRule.java +++ b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DockerElasticSearchRule.java @@ -51,7 +51,7 @@ public class DockerElasticSearchRule implements GuiceModuleTestRule { configuration.addProperty("elasticsearch.nb.shards", 1); configuration.addProperty("elasticsearch.nb.replica", 0); configuration.addProperty("elasticsearch.retryConnection.maxRetries", 7); - configuration.addProperty("elasticsearch.retryConnection.minDelay", 30); + configuration.addProperty("elasticsearch.retryConnection.minDelay", 3000); configuration.addProperty("elasticsearch.indexAttachments", false); configuration.addProperty("elasticsearch.http.host", getIp()); configuration.addProperty("elasticsearch.http.port", ELASTIC_SEARCH_HTTP_PORT); http://git-wip-us.apache.org/repos/asf/james-project/blob/58f0e725/server/container/guice/guice-common/src/main/java/org/apache/james/utils/RetryExecutorUtil.java ---------------------------------------------------------------------- diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/utils/RetryExecutorUtil.java b/server/container/guice/guice-common/src/main/java/org/apache/james/utils/RetryExecutorUtil.java index 8737ffe..c98ccdb 100644 --- a/server/container/guice/guice-common/src/main/java/org/apache/james/utils/RetryExecutorUtil.java +++ b/server/container/guice/guice-common/src/main/java/org/apache/james/utils/RetryExecutorUtil.java @@ -20,17 +20,21 @@ package org.apache.james.utils; import com.nurkiewicz.asyncretry.AsyncRetryExecutor; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class RetryExecutorUtil { + private static final Logger LOG = LoggerFactory.getLogger(RetryExecutorUtil.class); - public static final int INITIAL_DELAY_MILLIS = 500; - public static final int MULTIPLIER = 2; + private static final int INITIAL_DELAY_MILLIS = 500; + private static final int MULTIPLIER = 2; - public static AsyncRetryExecutor retryOnExceptions(AsyncRetryExecutor executor, int maxRetries, int minDelay, Class<? extends Throwable> clazz) { + public static AsyncRetryExecutor retryOnExceptions(AsyncRetryExecutor executor, int maxRetries, int minDelay, Class<? extends Throwable>... clazz) { + LOG.info("The action should retry when {} and retry to {} times if needed", clazz, maxRetries); return executor - .retryOn(clazz) .withExponentialBackoff(INITIAL_DELAY_MILLIS, MULTIPLIER) .withProportionalJitter() + .retryOn(clazz) .withMaxRetries(maxRetries) .withMinDelay(minDelay); } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
