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

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

commit ae218e593bf7c615b6774f60ba91af3a7b7356d0
Author: Matthieu Baechler <matth...@apache.org>
AuthorDate: Tue Sep 10 16:49:44 2019 +0200

    JAMES-2897 use SERIAL when reading table where we use LWT
---
 .../org/apache/james/mailbox/cassandra/mail/CassandraACLMapper.java   | 4 +++-
 .../james/mailbox/cassandra/mail/CassandraMessageIdToImapUidDAO.java  | 3 ++-
 .../apache/james/mailbox/cassandra/mail/CassandraModSeqProvider.java  | 4 +++-
 .../org/apache/james/mailbox/cassandra/mail/CassandraUidProvider.java | 4 +++-
 4 files changed, 11 insertions(+), 4 deletions(-)

diff --git 
a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraACLMapper.java
 
b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraACLMapper.java
index 2698c4c..a81d3d2 100644
--- 
a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraACLMapper.java
+++ 
b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraACLMapper.java
@@ -45,6 +45,7 @@ import org.apache.james.util.FunctionalUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.datastax.driver.core.ConsistencyLevel;
 import com.datastax.driver.core.PreparedStatement;
 import com.datastax.driver.core.Row;
 import com.datastax.driver.core.Session;
@@ -153,7 +154,8 @@ public class CassandraACLMapper {
     private Mono<Row> getStoredACLRow(CassandraId cassandraId) {
         return executor.executeSingleRow(
             readStatement.bind()
-                .setUUID(CassandraACLTable.ID, cassandraId.asUuid()));
+                .setUUID(CassandraACLTable.ID, cassandraId.asUuid())
+                .setConsistencyLevel(ConsistencyLevel.SERIAL));
     }
 
     private Mono<MailboxACL> updateStoredACL(CassandraId cassandraId, 
ACLWithVersion aclWithVersion) {
diff --git 
a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdToImapUidDAO.java
 
b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdToImapUidDAO.java
index aaae23b..8c31e8d 100644
--- 
a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdToImapUidDAO.java
+++ 
b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdToImapUidDAO.java
@@ -194,7 +194,8 @@ public class CassandraMessageIdToImapUidDAO {
 
     public Flux<ComposedMessageIdWithMetaData> retrieve(CassandraMessageId 
messageId, Optional<CassandraId> mailboxId) {
         return cassandraAsyncExecutor.executeRows(
-                    selectStatement(messageId, 
mailboxId).setConsistencyLevel(ConsistencyLevel.SERIAL))
+                    selectStatement(messageId, mailboxId)
+                    .setConsistencyLevel(ConsistencyLevel.SERIAL))
                 .map(this::toComposedMessageIdWithMetadata);
     }
 
diff --git 
a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraModSeqProvider.java
 
b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraModSeqProvider.java
index 02a7adc..efaf09f 100644
--- 
a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraModSeqProvider.java
+++ 
b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraModSeqProvider.java
@@ -46,6 +46,7 @@ import org.apache.james.mailbox.model.MailboxId;
 import org.apache.james.mailbox.store.mail.ModSeqProvider;
 import org.apache.james.util.FunctionalUtils;
 
+import com.datastax.driver.core.ConsistencyLevel;
 import com.datastax.driver.core.PreparedStatement;
 import com.datastax.driver.core.Session;
 import com.google.common.base.MoreObjects;
@@ -148,7 +149,8 @@ public class CassandraModSeqProvider implements 
ModSeqProvider {
     private Mono<Optional<ModSeq>> findHighestModSeq(CassandraId mailboxId) {
         return cassandraAsyncExecutor.executeSingleRowOptional(
             select.bind()
-                .setUUID(MAILBOX_ID, mailboxId.asUuid()))
+                .setUUID(MAILBOX_ID, mailboxId.asUuid())
+                .setConsistencyLevel(ConsistencyLevel.SERIAL))
             .map(maybeRow -> maybeRow.map(row -> new 
ModSeq(row.getLong(NEXT_MODSEQ))));
     }
 
diff --git 
a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProvider.java
 
b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProvider.java
index 5755ee5..73f628f 100644
--- 
a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProvider.java
+++ 
b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProvider.java
@@ -43,6 +43,7 @@ import org.apache.james.mailbox.model.Mailbox;
 import org.apache.james.mailbox.model.MailboxId;
 import org.apache.james.mailbox.store.mail.UidProvider;
 
+import com.datastax.driver.core.ConsistencyLevel;
 import com.datastax.driver.core.PreparedStatement;
 import com.datastax.driver.core.Session;
 import reactor.core.publisher.Mono;
@@ -118,7 +119,8 @@ public class CassandraUidProvider implements UidProvider {
     private Mono<MessageUid> findHighestUid(CassandraId mailboxId) {
         return Mono.defer(() -> executor.executeSingleRow(
             selectStatement.bind()
-                .setUUID(MAILBOX_ID, mailboxId.asUuid()))
+                .setUUID(MAILBOX_ID, mailboxId.asUuid())
+                .setConsistencyLevel(ConsistencyLevel.SERIAL))
             .map(row -> MessageUid.of(row.getLong(NEXT_UID))));
     }
 


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

Reply via email to