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 814951c5fee19bf94b09f942482494fad3eda95b
Author: Benoit Tellier <[email protected]>
AuthorDate: Fri Jun 4 13:52:26 2021 +0700

    [PERFORMANCE] CassandraDeletedMessageDAO should use 
CassandraAsyncExecutor::executeRows
---
 .../cassandra/mail/CassandraDeletedMessageDAO.java | 23 ++++++++++------------
 1 file changed, 10 insertions(+), 13 deletions(-)

diff --git 
a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraDeletedMessageDAO.java
 
b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraDeletedMessageDAO.java
index 3e6d9db..69e301b 100644
--- 
a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraDeletedMessageDAO.java
+++ 
b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraDeletedMessageDAO.java
@@ -30,8 +30,6 @@ import static 
org.apache.james.mailbox.cassandra.table.CassandraDeletedMessageTa
 import static 
org.apache.james.mailbox.cassandra.table.CassandraDeletedMessageTable.TABLE_NAME;
 import static 
org.apache.james.mailbox.cassandra.table.CassandraDeletedMessageTable.UID;
 
-import java.util.function.Function;
-
 import javax.inject.Inject;
 
 import org.apache.james.backends.cassandra.utils.CassandraAsyncExecutor;
@@ -40,7 +38,7 @@ import org.apache.james.mailbox.cassandra.ids.CassandraId;
 import org.apache.james.mailbox.model.MessageRange;
 
 import com.datastax.driver.core.PreparedStatement;
-import com.datastax.driver.core.ResultSet;
+import com.datastax.driver.core.Row;
 import com.datastax.driver.core.Session;
 
 import reactor.core.publisher.Flux;
@@ -138,11 +136,10 @@ public class CassandraDeletedMessageDAO {
 
     public Flux<MessageUid> retrieveDeletedMessage(CassandraId cassandraId, 
MessageRange range) {
         return retrieveResultSetOfDeletedMessage(cassandraId, range)
-            .flatMapIterable(Function.identity())
             .map(row -> MessageUid.of(row.getLong(UID)));
     }
 
-    private Mono<ResultSet> retrieveResultSetOfDeletedMessage(CassandraId 
cassandraId, MessageRange range) {
+    private Flux<Row> retrieveResultSetOfDeletedMessage(CassandraId 
cassandraId, MessageRange range) {
         switch (range.getType()) {
             case ALL:
                 return retrieveAllDeleted(cassandraId);
@@ -157,29 +154,29 @@ public class CassandraDeletedMessageDAO {
         throw new UnsupportedOperationException();
     }
 
-    private Mono<ResultSet> retrieveAllDeleted(CassandraId cassandraId) {
-        return cassandraAsyncExecutor.execute(
+    private Flux<Row> retrieveAllDeleted(CassandraId cassandraId) {
+        return cassandraAsyncExecutor.executeRows(
             selectAllUidStatement.bind()
                 .setUUID(MAILBOX_ID, cassandraId.asUuid()));
     }
 
-    private Mono<ResultSet> retrieveOneDeleted(CassandraId cassandraId, 
MessageUid uid) {
-        return cassandraAsyncExecutor.execute(
+    private Flux<Row> retrieveOneDeleted(CassandraId cassandraId, MessageUid 
uid) {
+        return cassandraAsyncExecutor.executeRows(
             selectOneUidStatement.bind()
                 .setUUID(MAILBOX_ID, cassandraId.asUuid())
                 .setLong(UID, uid.asLong()));
     }
 
-    private Mono<ResultSet> retrieveDeletedBetween(CassandraId cassandraId, 
MessageUid from, MessageUid to) {
-        return cassandraAsyncExecutor.execute(
+    private Flux<Row> retrieveDeletedBetween(CassandraId cassandraId, 
MessageUid from, MessageUid to) {
+        return cassandraAsyncExecutor.executeRows(
             selectBetweenUidStatement.bind()
                 .setUUID(MAILBOX_ID, cassandraId.asUuid())
                 .setLong(UID_FROM, from.asLong())
                 .setLong(UID_TO, to.asLong()));
     }
 
-    private Mono<ResultSet> retrieveDeletedAfter(CassandraId cassandraId, 
MessageUid from) {
-        return cassandraAsyncExecutor.execute(
+    private Flux<Row> retrieveDeletedAfter(CassandraId cassandraId, MessageUid 
from) {
+        return cassandraAsyncExecutor.executeRows(
             selectFromUidStatement.bind()
                 .setUUID(MAILBOX_ID, cassandraId.asUuid())
                 .setLong(UID_FROM, from.asLong()));

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to