You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2020/06/03 07:19:58 UTC

[james-project] 08/12: JAMES-3184 Methods name clarification & reordering

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 edb8b089dd6f7fc9083525873f60858150666708
Author: LanKhuat <kh...@gmail.com>
AuthorDate: Mon May 25 15:09:16 2020 +0700

    JAMES-3184 Methods name clarification & reordering
---
 .../tools/indexer/ErrorRecoveryIndexationTask.java |  2 +-
 .../mailbox/tools/indexer/FullReindexingTask.java  |  2 +-
 .../tools/indexer/MessageIdReIndexingTask.java     |  2 +-
 .../mailbox/tools/indexer/ReIndexerPerformer.java  | 87 +++++++++++-----------
 .../tools/indexer/SingleMailboxReindexingTask.java |  2 +-
 .../tools/indexer/SingleMessageReindexingTask.java |  2 +-
 .../mailbox/tools/indexer/UserReindexingTask.java  |  2 +-
 7 files changed, 49 insertions(+), 50 deletions(-)

diff --git a/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/ErrorRecoveryIndexationTask.java b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/ErrorRecoveryIndexationTask.java
index 8517465..df20874 100644
--- a/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/ErrorRecoveryIndexationTask.java
+++ b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/ErrorRecoveryIndexationTask.java
@@ -81,7 +81,7 @@ public class ErrorRecoveryIndexationTask implements Task {
 
     @Override
     public Result run() {
-        return reIndexerPerformer.reIndex(reprocessingContext, previousFailures, runningOptions).block();
+        return reIndexerPerformer.reIndexErrors(reprocessingContext, previousFailures, runningOptions).block();
     }
 
     @Override
diff --git a/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/FullReindexingTask.java b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/FullReindexingTask.java
index e841d12..b99eb5f 100644
--- a/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/FullReindexingTask.java
+++ b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/FullReindexingTask.java
@@ -48,7 +48,7 @@ public class FullReindexingTask implements Task {
 
     @Override
     public Result run() {
-        return reIndexerPerformer.reIndex(reprocessingContext, runningOptions)
+        return reIndexerPerformer.reIndexAllMessages(reprocessingContext, runningOptions)
             .onErrorResume(e -> Mono.just(Result.PARTIAL))
             .block();
     }
diff --git a/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/MessageIdReIndexingTask.java b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/MessageIdReIndexingTask.java
index 191d0ab..bc1c97a 100644
--- a/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/MessageIdReIndexingTask.java
+++ b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/MessageIdReIndexingTask.java
@@ -78,7 +78,7 @@ public class MessageIdReIndexingTask implements Task {
 
     @Override
     public Result run() {
-        return reIndexerPerformer.handleMessageIdReindexing(messageId).block();
+        return reIndexerPerformer.reIndexMessageId(messageId).block();
     }
 
     @Override
diff --git a/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/ReIndexerPerformer.java b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/ReIndexerPerformer.java
index 030b468..433e975 100644
--- a/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/ReIndexerPerformer.java
+++ b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/ReIndexerPerformer.java
@@ -51,7 +51,6 @@ public class ReIndexerPerformer {
     private static final Logger LOGGER = LoggerFactory.getLogger(ReIndexerPerformer.class);
 
     private static final int SINGLE_MESSAGE = 1;
-    private static final int MESSAGE_CONCURRENCY = 50;
     private static final String RE_INDEXING = "re-indexing";
     private static final Username RE_INDEXER_PERFORMER_USER = Username.of(RE_INDEXING);
     private static final int NO_CONCURRENCY = 1;
@@ -70,45 +69,7 @@ public class ReIndexerPerformer {
         this.mailboxSessionMapperFactory = mailboxSessionMapperFactory;
     }
 
-    Mono<Result> reIndex(MailboxId mailboxId, ReprocessingContext reprocessingContext, RunningOptions runningOptions) {
-        MailboxSession mailboxSession = mailboxManager.createSystemSession(RE_INDEXER_PERFORMER_USER);
-
-        return mailboxSessionMapperFactory.getMailboxMapper(mailboxSession)
-            .findMailboxByIdReactive(mailboxId)
-            .flatMap(mailbox -> reIndex(reprocessingContext, mailboxSession, mailbox, runningOptions));
-    }
-
-    Mono<Result> reIndex(ReprocessingContext reprocessingContext, ReIndexingExecutionFailures previousReIndexingFailures, RunningOptions runningOptions) {
-        return Flux.fromIterable(previousReIndexingFailures.failures())
-            .flatMap(previousFailure -> reIndex(reprocessingContext, previousFailure), runningOptions.getMessagesPerSecond())
-            .reduce(Task::combine)
-            .switchIfEmpty(Mono.just(Result.COMPLETED));
-    }
-
-    private Mono<Result> reIndex(ReprocessingContext reprocessingContext, MailboxSession mailboxSession, Mailbox mailbox, RunningOptions runningOptions) {
-        LOGGER.info("Attempt to reindex mailbox with mailboxId {}", mailbox.getMailboxId().serialize());
-        return messageSearchIndex.deleteAll(mailboxSession, mailbox.getMailboxId())
-            .then(mailboxSessionMapperFactory.getMessageMapper(mailboxSession)
-                .listAllMessageUids(mailbox)
-                .flatMap(uid -> handleMessageReIndexing(mailboxSession, mailbox, uid, reprocessingContext), runningOptions.getMessagesPerSecond())
-                .reduce(Task::combine)
-                .switchIfEmpty(Mono.just(Result.COMPLETED))
-                .doFinally(any -> LOGGER.info("Finish to reindex mailbox with mailboxId {}", mailbox.getMailboxId().serialize())));
-    }
-
-    private Mono<Result> reIndex(ReprocessingContext reprocessingContext, ReIndexingExecutionFailures.ReIndexingFailure previousReIndexingFailure) {
-        MailboxId mailboxId = previousReIndexingFailure.getMailboxId();
-        MessageUid uid = previousReIndexingFailure.getUid();
-
-        return handleMessageReIndexing(mailboxId, uid, reprocessingContext)
-            .onErrorResume(e -> {
-                LOGGER.warn("ReIndexing failed for {} {}", mailboxId, uid, e);
-                reprocessingContext.recordFailureDetailsForMessage(mailboxId, uid);
-                return Mono.just(Result.PARTIAL);
-            });
-    }
-
-    Mono<Result> reIndex(ReprocessingContext reprocessingContext, RunningOptions runningOptions) {
+    Mono<Result> reIndexAllMessages(ReprocessingContext reprocessingContext, RunningOptions runningOptions) {
         MailboxSession mailboxSession = mailboxManager.createSystemSession(RE_INDEXER_PERFORMER_USER);
         LOGGER.info("Starting a full reindex");
         return mailboxSessionMapperFactory.getMailboxMapper(mailboxSession).list()
@@ -118,7 +79,15 @@ public class ReIndexerPerformer {
             .doFinally(any -> LOGGER.info("Full reindex finished"));
     }
 
-    Mono<Result> reIndex(Username username, ReprocessingContext reprocessingContext, RunningOptions runningOptions) {
+    Mono<Result> reIndexSingleMailbox(MailboxId mailboxId, ReprocessingContext reprocessingContext, RunningOptions runningOptions) {
+        MailboxSession mailboxSession = mailboxManager.createSystemSession(RE_INDEXER_PERFORMER_USER);
+
+        return mailboxSessionMapperFactory.getMailboxMapper(mailboxSession)
+            .findMailboxByIdReactive(mailboxId)
+            .flatMap(mailbox -> reIndex(reprocessingContext, mailboxSession, mailbox, runningOptions));
+    }
+
+    Mono<Result> reIndexUserMailboxes(Username username, ReprocessingContext reprocessingContext, RunningOptions runningOptions) {
         MailboxSession mailboxSession = mailboxManager.createSystemSession(username);
         LOGGER.info("Starting a reindex for user {}", username.asString());
 
@@ -126,13 +95,13 @@ public class ReIndexerPerformer {
 
         return mailboxManager.searchReactive(mailboxQuery, mailboxSession)
             .map(MailboxMetaData::getId)
-            .flatMap(id -> reIndex(id, reprocessingContext, runningOptions), NO_CONCURRENCY, NO_PREFETCH)
+            .flatMap(id -> reIndexSingleMailbox(id, reprocessingContext, runningOptions), NO_CONCURRENCY, NO_PREFETCH)
             .reduce(Task::combine)
             .switchIfEmpty(Mono.just(Result.COMPLETED))
             .doFinally(any -> LOGGER.info("User {} reindex finished", username.asString()));
     }
 
-    Mono<Result> handleMessageReIndexing(MailboxId mailboxId, MessageUid uid, ReprocessingContext reprocessingContext) {
+    Mono<Result> reIndexSingleMessage(MailboxId mailboxId, MessageUid uid, ReprocessingContext reprocessingContext) {
         MailboxSession mailboxSession = mailboxManager.createSystemSession(RE_INDEXER_PERFORMER_USER);
 
         return mailboxSessionMapperFactory.getMailboxMapper(mailboxSession)
@@ -140,7 +109,7 @@ public class ReIndexerPerformer {
             .flatMap(mailbox -> handleMessageReIndexing(mailboxSession, mailbox, uid, reprocessingContext));
     }
 
-    Mono<Result> handleMessageIdReindexing(MessageId messageId) {
+    Mono<Result> reIndexMessageId(MessageId messageId) {
         MailboxSession session = mailboxManager.createSystemSession(RE_INDEXER_PERFORMER_USER);
 
         return mailboxSessionMapperFactory.getMessageIdMapper(session)
@@ -154,6 +123,36 @@ public class ReIndexerPerformer {
             });
     }
 
+    Mono<Result> reIndexErrors(ReprocessingContext reprocessingContext, ReIndexingExecutionFailures previousReIndexingFailures, RunningOptions runningOptions) {
+        return Flux.fromIterable(previousReIndexingFailures.failures())
+            .flatMap(previousFailure -> reIndex(reprocessingContext, previousFailure), runningOptions.getMessagesPerSecond())
+            .reduce(Task::combine)
+            .switchIfEmpty(Mono.just(Result.COMPLETED));
+    }
+
+    private Mono<Result> reIndex(ReprocessingContext reprocessingContext, MailboxSession mailboxSession, Mailbox mailbox, RunningOptions runningOptions) {
+        LOGGER.info("Attempt to reindex mailbox with mailboxId {}", mailbox.getMailboxId().serialize());
+        return messageSearchIndex.deleteAll(mailboxSession, mailbox.getMailboxId())
+            .then(mailboxSessionMapperFactory.getMessageMapper(mailboxSession)
+                .listAllMessageUids(mailbox)
+                .flatMap(uid -> handleMessageReIndexing(mailboxSession, mailbox, uid, reprocessingContext), runningOptions.getMessagesPerSecond())
+                .reduce(Task::combine)
+                .switchIfEmpty(Mono.just(Result.COMPLETED))
+                .doFinally(any -> LOGGER.info("Finish to reindex mailbox with mailboxId {}", mailbox.getMailboxId().serialize())));
+    }
+
+    private Mono<Result> reIndex(ReprocessingContext reprocessingContext, ReIndexingExecutionFailures.ReIndexingFailure previousReIndexingFailure) {
+        MailboxId mailboxId = previousReIndexingFailure.getMailboxId();
+        MessageUid uid = previousReIndexingFailure.getUid();
+
+        return reIndexSingleMessage(mailboxId, uid, reprocessingContext)
+            .onErrorResume(e -> {
+                LOGGER.warn("ReIndexing failed for {} {}", mailboxId, uid, e);
+                reprocessingContext.recordFailureDetailsForMessage(mailboxId, uid);
+                return Mono.just(Result.PARTIAL);
+            });
+    }
+
     private Mono<Result> reIndex(MailboxMessage mailboxMessage, MailboxSession session) {
         return mailboxSessionMapperFactory.getMailboxMapper(session)
             .findMailboxByIdReactive(mailboxMessage.getMailboxId())
diff --git a/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/SingleMailboxReindexingTask.java b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/SingleMailboxReindexingTask.java
index 29dd231..bc474a3 100644
--- a/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/SingleMailboxReindexingTask.java
+++ b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/SingleMailboxReindexingTask.java
@@ -87,7 +87,7 @@ public class SingleMailboxReindexingTask implements Task {
     @Override
     public Result run() {
         try {
-            return reIndexerPerformer.reIndex(mailboxId, reprocessingContext, runningOptions)
+            return reIndexerPerformer.reIndexSingleMailbox(mailboxId, reprocessingContext, runningOptions)
                 .block();
         } catch (Exception e) {
             return Result.PARTIAL;
diff --git a/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/SingleMessageReindexingTask.java b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/SingleMessageReindexingTask.java
index 08c014b..a5a787d 100644
--- a/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/SingleMessageReindexingTask.java
+++ b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/SingleMessageReindexingTask.java
@@ -96,7 +96,7 @@ public class SingleMessageReindexingTask implements Task {
 
     @Override
     public Result run() {
-        return reIndexerPerformer.handleMessageReIndexing(mailboxId, uid, new ReprocessingContext())
+        return reIndexerPerformer.reIndexSingleMessage(mailboxId, uid, new ReprocessingContext())
             .onErrorResume(e -> {
                 LOGGER.warn("Error encountered while reindexing {} : {}", mailboxId, uid, e);
                 return Mono.just(Result.PARTIAL);
diff --git a/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/UserReindexingTask.java b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/UserReindexingTask.java
index eb06e88..19cde9b 100644
--- a/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/UserReindexingTask.java
+++ b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/UserReindexingTask.java
@@ -87,7 +87,7 @@ public class UserReindexingTask implements Task {
 
     @Override
     public Result run() {
-        return reIndexerPerformer.reIndex(username, reprocessingContext, runningOptions)
+        return reIndexerPerformer.reIndexUserMailboxes(username, reprocessingContext, runningOptions)
             .onErrorResume(e -> Mono.just(Result.PARTIAL))
             .block();
     }


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org