[prev in list] [next in list] [prev in thread] [next in thread] 

List:       james-dev
Subject:    [6/6] james-project git commit: MAILBOX-267 Don't fail on single index update failure for message up
From:       btellier () apache ! org
Date:       2017-05-29 10:14:23
Message-ID: 15d6fb88694e4b8f82cd41013e2cadf8 () git ! apache ! org
[Download RAW message or body]

MAILBOX-267 Don't fail on single index update failure for message update


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

Branch: refs/heads/master
Commit: 09c9d34c65172d6e5ceefd34d59f37d3785b1167
Parents: 75cdccc
Author: benwa <btellier@linagora.com>
Authored: Wed May 24 16:05:58 2017 +0700
Committer: benwa <btellier@linagora.com>
Committed: Mon May 29 17:02:50 2017 +0700

----------------------------------------------------------------------
 .../james/mailbox/cassandra/mail/CassandraMessageMapper.java | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/09c9d34c/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java
                
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java \
b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java
 index 68133eb..8d00e77 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java
                
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java
 @@ -57,6 +57,7 @@ import org.apache.james.util.streams.JamesCollectors;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.github.fge.lambdas.Throwing;
 import com.github.steveash.guavate.Guavate;
 import com.google.common.collect.ImmutableList;
 
@@ -329,7 +330,12 @@ public class CassandraMessageMapper implements MessageMapper {
     private CompletableFuture<FlagsUpdateStageResult> \
updateIndexesForUpdatesResult(CassandraId mailboxId, FlagsUpdateStageResult result) { \
return FluentFutureStream.of(  result.getSucceeded().stream()
-                .map((UpdatedFlags updatedFlags) -> \
indexTableHandler.updateIndexOnFlagsUpdate(mailboxId, updatedFlags))) +               \
.map(Throwing +                    .function((UpdatedFlags updatedFlags) -> \
indexTableHandler.updateIndexOnFlagsUpdate(mailboxId, updatedFlags)) +                \
.fallbackTo(failedindex -> { +                        LOGGER.error("Could not update \
flag indexes for mailboxId {} UID {}. This will lead to inconsistencies across \
Cassandra tables"); +                        return \
CompletableFuture.completedFuture(null); +                    })))
             .completableFuture()
             .thenApply(any -> result);
     }


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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic