This is an automated email from the ASF dual-hosted git repository. rcordier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 4c86016cbcee31085621156b18aa37b150d287d5 Author: Benoit Tellier <[email protected]> AuthorDate: Mon Mar 2 10:59:35 2020 +0700 JAMES-2897 Lightweight transactions: Not required for mailboxPathDAOV1 New records are never written to it. Records are deleted from it if, and only if they are successfully written in daoV2 (which is linearizable), ensuring they will never be read again from daoV1. Lowering the consistency guaranties is thus safe here. Lightweight transactions add latencies even on reads, and a read is performed on daoV1 when listing one mailboxes. Lowering the consistency level thus enhances performances. --- .../james/mailbox/cassandra/mail/CassandraMailboxPathDAOImpl.java | 6 ++---- .../mailbox/cassandra/mail/CassandraMailboxPathDAOImplTest.java | 6 ------ 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxPathDAOImpl.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxPathDAOImpl.java index b795777..50093ff 100644 --- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxPathDAOImpl.java +++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxPathDAOImpl.java @@ -90,16 +90,14 @@ public class CassandraMailboxPathDAOImpl { return session.prepare(QueryBuilder.delete() .from(TABLE_NAME) .where(eq(NAMESPACE_AND_USER, bindMarker(NAMESPACE_AND_USER))) - .and(eq(MAILBOX_NAME, bindMarker(MAILBOX_NAME))) - .ifExists()); + .and(eq(MAILBOX_NAME, bindMarker(MAILBOX_NAME)))); } private PreparedStatement prepareInsert(Session session) { return session.prepare(insertInto(TABLE_NAME) .value(NAMESPACE_AND_USER, bindMarker(NAMESPACE_AND_USER)) .value(MAILBOX_NAME, bindMarker(MAILBOX_NAME)) - .value(MAILBOX_ID, bindMarker(MAILBOX_ID)) - .ifNotExists()); + .value(MAILBOX_ID, bindMarker(MAILBOX_ID))); } private PreparedStatement prepareSelect(Session session) { diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxPathDAOImplTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxPathDAOImplTest.java index 0926921..9b88ebd 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxPathDAOImplTest.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxPathDAOImplTest.java @@ -67,12 +67,6 @@ class CassandraMailboxPathDAOImplTest { } @Test - void saveOnSecondShouldBeFalse() { - assertThat(testee.save(USER_INBOX_MAILBOXPATH, INBOX_ID).block()).isTrue(); - assertThat(testee.save(USER_INBOX_MAILBOXPATH, INBOX_ID).block()).isFalse(); - } - - @Test void retrieveIdShouldReturnEmptyWhenEmptyData() { assertThat(testee.retrieveId(USER_INBOX_MAILBOXPATH).blockOptional()) .isEmpty(); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
