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]

Reply via email to