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