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 e9729018fb6c22e52c04ddbc1e9ed81ff20daa34 Author: Benoit Tellier <[email protected]> AuthorDate: Fri Jun 4 13:57:45 2021 +0700 [PERFORMANCE] CassandraMessageDAOV3 should use CassandraAsyncExecutor::executeSingleRow This prevents a single row ResultSet post-traitements to be scheduled on the elasticScheduler --- .../mailbox/cassandra/mail/CassandraMessageDAOV3.java | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAOV3.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAOV3.java index b044020..d4e6c40 100644 --- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAOV3.java +++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAOV3.java @@ -80,7 +80,6 @@ import com.datastax.driver.core.CodecRegistry; import com.datastax.driver.core.ConsistencyLevel; import com.datastax.driver.core.DataType; 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 com.datastax.driver.core.TypeCodec; @@ -293,23 +292,17 @@ public class CassandraMessageDAOV3 { public Mono<MessageRepresentation> retrieveMessage(CassandraMessageId cassandraMessageId, FetchType fetchType) { return retrieveRow(cassandraMessageId) - .flatMap(resultSet -> message(resultSet, cassandraMessageId, fetchType)); + .flatMap(row -> message(row, cassandraMessageId, fetchType)); } - private Mono<ResultSet> retrieveRow(CassandraMessageId messageId) { - return cassandraAsyncExecutor.execute(select + private Mono<Row> retrieveRow(CassandraMessageId messageId) { + return cassandraAsyncExecutor.executeSingleRow(select .bind() .setUUID(MESSAGE_ID, messageId.get()) .setConsistencyLevel(consistencyLevel)); } - private Mono<MessageRepresentation> - message(ResultSet rows, CassandraMessageId cassandraMessageId, FetchType fetchType) { - if (rows.isExhausted()) { - return Mono.empty(); - } - - Row row = rows.one(); + private Mono<MessageRepresentation> message(Row row, CassandraMessageId cassandraMessageId, FetchType fetchType) { BlobId headerId = retrieveBlobId(HEADER_CONTENT, row); BlobId bodyId = retrieveBlobId(BODY_CONTENT, row); int bodyStartOctet = row.getInt(BODY_START_OCTET); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
