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 bt...@apache.org on 2017/06/28 07:21:16 UTC

[3/3] james-project git commit: JAMES-2076 setActive was running concurrent operations in parallel

JAMES-2076 setActive was running concurrent operations in parallel


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/793fec8a
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/793fec8a
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/793fec8a

Branch: refs/heads/master
Commit: 793fec8a63598b1c0af14dfce799f01665533c16
Parents: 416e310
Author: benwa <bt...@linagora.com>
Authored: Wed Jun 28 10:27:39 2017 +0700
Committer: benwa <bt...@linagora.com>
Committed: Wed Jun 28 14:20:47 2017 +0700

----------------------------------------------------------------------
 .../james/sieve/cassandra/CassandraSieveRepository.java   | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/793fec8a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepository.java b/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepository.java
index 95557e5..0490848 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepository.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepository.java
@@ -131,12 +131,12 @@ public class CassandraSieveRepository implements SieveRepository {
 
     @Override
     public void setActive(String user, String name) throws ScriptNotFoundException {
-        CompletableFuture<Void> unactivateOldScriptFuture = unactivateOldScript(user);
-        CompletableFuture<Boolean> activateNewScript = updateScriptActivation(user, name, true)
-            .thenCompose(CompletableFutureUtil.composeIfTrue(
-                () -> cassandraActiveScriptDAO.activate(user, name)));
+        CompletableFuture<Boolean> activateNewScript =
+            unactivateOldScript(user)
+                .thenCompose( any -> updateScriptActivation(user, name, true)
+                    .thenCompose(CompletableFutureUtil.composeIfTrue(
+                        () -> cassandraActiveScriptDAO.activate(user, name))));
 
-        unactivateOldScriptFuture.join();
         if (!activateNewScript.join()) {
             throw new ScriptNotFoundException();
         }


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