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]

Reply via email to