You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by rc...@apache.org on 2021/01/05 04:55:57 UTC

[james-project] 18/24: JAMES-3202 Leverage the fact that index does an upsert, removing pre-existing documents

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 c8033f4bfe68810bc3e8a131aaf93926d8980349
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Wed Dec 30 17:02:51 2020 +0700

    JAMES-3202 Leverage the fact that index does an upsert, removing pre-existing documents
    
    We do not need to delete the existing document before indexing it
---
 .../org/apache/mailbox/tools/indexer/ReIndexerPerformer.java     | 9 +++++----
 .../java/org/apache/mailbox/tools/indexer/ReIndexerImplTest.java | 1 -
 2 files changed, 5 insertions(+), 5 deletions(-)

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 2dd9cde..8343f32 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
@@ -329,7 +329,7 @@ public class ReIndexerPerformer {
                     if (upToDate) {
                         return Mono.just(Either.<Failure, Result>right(Result.COMPLETED));
                     }
-                    return correct(entry, message);
+                    return correct(entry);
                 }))
             .onErrorResume(e -> {
                 LOGGER.warn("ReIndexing failed for {} {}", entry.getMailbox().generateAssociatedPath(), entry.getUid(), e);
@@ -337,9 +337,10 @@ public class ReIndexerPerformer {
             });
     }
 
-    private Mono<Either<Failure, Result>> correct(ReIndexingEntry entry, MailboxMessage message) {
-        return messageSearchIndex.delete(entry.getMailboxSession(), entry.getMailbox().getMailboxId(), ImmutableList.of(message.getUid()))
-            .then(index(entry));
+    private Mono<Either<Failure, Result>> correct(ReIndexingEntry entry) {
+        // Leverage the fact that index does an upsert, removing pre-existing documents
+        // We do not need to delete the existing document before indexing it
+        return index(entry);
     }
 
     private Mono<Boolean> isIndexUpToDate(Mailbox mailbox, MailboxMessage message) {
diff --git a/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/ReIndexerImplTest.java b/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/ReIndexerImplTest.java
index a47f208..dc9088a 100644
--- a/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/ReIndexerImplTest.java
+++ b/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/ReIndexerImplTest.java
@@ -261,7 +261,6 @@ public class ReIndexerImplTest {
         ArgumentCaptor<Mailbox> mailboxCaptor = ArgumentCaptor.forClass(Mailbox.class);
 
         verify(messageSearchIndex).retrieveIndexedFlags(any(), any());
-        verify(messageSearchIndex).delete(any(), any(), any());
         verify(messageSearchIndex).add(any(MailboxSession.class), mailboxCaptor.capture(), messageCaptor.capture());
         verifyNoMoreInteractions(messageSearchIndex);
 


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