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 2019/03/21 03:10:22 UTC

[james-project] branch master updated (e31ee4e -> a9cb75f)

This is an automated email from the ASF dual-hosted git repository.

btellier pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git.


    from e31ee4e  JAMES-2684 Rename JamesServerExtensionBuilder to JamesServerBuilder
     new 79e83c3  MAILBOX-386 Solve sync issue in memory event dead letters
     new a9cb75f  MAILBOX-368 Fix asynchronous issues within EventDeadLettersContract

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../james/mailbox/events/EventDeadLettersContract.java    |  6 +++---
 .../james/mailbox/events/MemoryEventDeadLetters.java      | 15 +++++++--------
 2 files changed, 10 insertions(+), 11 deletions(-)


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


[james-project] 02/02: MAILBOX-368 Fix asynchronous issues within EventDeadLettersContract

Posted by bt...@apache.org.
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 a9cb75f3fdd9aeaf761eb9838e12714791284577
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Wed Mar 20 13:32:36 2019 +0700

    MAILBOX-368 Fix asynchronous issues within EventDeadLettersContract
---
 .../org/apache/james/mailbox/events/EventDeadLettersContract.java   | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/mailbox/api/src/test/java/org/apache/james/mailbox/events/EventDeadLettersContract.java b/mailbox/api/src/test/java/org/apache/james/mailbox/events/EventDeadLettersContract.java
index 4b3bca8..af49e42 100644
--- a/mailbox/api/src/test/java/org/apache/james/mailbox/events/EventDeadLettersContract.java
+++ b/mailbox/api/src/test/java/org/apache/james/mailbox/events/EventDeadLettersContract.java
@@ -178,7 +178,7 @@ interface EventDeadLettersContract {
                     Event.EventId eventId = Event.EventId.random();
                     EventDeadLetters.InsertionId insertionId = EventDeadLetters.InsertionId.random();
                     storedInsertionIds.put(threadNumber, insertionId);
-                    eventDeadLetters.store(groups.get(threadNumber), event(eventId), insertionId).subscribe();
+                    eventDeadLetters.store(groups.get(threadNumber), event(eventId), insertionId).block();
                 })
                 .threadCount(THREAD_COUNT)
                 .operationCount(OPERATION_COUNT)
@@ -278,7 +278,7 @@ interface EventDeadLettersContract {
                     Event.EventId eventId = Event.EventId.random();
                     EventDeadLetters.InsertionId insertionId = EventDeadLetters.InsertionId.random();
                     storedInsertionIds.put(operationIndex, insertionId);
-                    eventDeadLetters.store(groups.get(threadNumber), event(eventId), insertionId).subscribe();
+                    eventDeadLetters.store(groups.get(threadNumber), event(eventId), insertionId).block();
                 })
                 .threadCount(THREAD_COUNT)
                 .operationCount(OPERATION_COUNT)
@@ -288,7 +288,7 @@ interface EventDeadLettersContract {
                 .operation((threadNumber, step) -> {
                     int operationIndex = threadNumber * OPERATION_COUNT + step;
                     eventDeadLetters.remove(groups.get(threadNumber), storedInsertionIds.get(operationIndex))
-                        .subscribe();
+                        .block();
                 })
                 .threadCount(THREAD_COUNT)
                 .operationCount(OPERATION_COUNT)


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


[james-project] 01/02: MAILBOX-386 Solve sync issue in memory event dead letters

Posted by bt...@apache.org.
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 79e83c37ecb1668db9ec9456ba66d4aa8d05e504
Author: Rene Cordier <rc...@linagora.com>
AuthorDate: Wed Mar 20 15:13:16 2019 +0700

    MAILBOX-386 Solve sync issue in memory event dead letters
---
 .../james/mailbox/events/MemoryEventDeadLetters.java      | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/mailbox/event/event-memory/src/main/java/org/apache/james/mailbox/events/MemoryEventDeadLetters.java b/mailbox/event/event-memory/src/main/java/org/apache/james/mailbox/events/MemoryEventDeadLetters.java
index ed324f2..40d8f86 100644
--- a/mailbox/event/event-memory/src/main/java/org/apache/james/mailbox/events/MemoryEventDeadLetters.java
+++ b/mailbox/event/event-memory/src/main/java/org/apache/james/mailbox/events/MemoryEventDeadLetters.java
@@ -21,11 +21,11 @@ package org.apache.james.mailbox.events;
 
 import com.google.common.base.Preconditions;
 import com.google.common.collect.HashBasedTable;
+import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Table;
 
 import reactor.core.publisher.Flux;
 import reactor.core.publisher.Mono;
-import reactor.core.publisher.MonoProcessor;
 
 public class MemoryEventDeadLetters implements EventDeadLetters {
 
@@ -42,9 +42,8 @@ public class MemoryEventDeadLetters implements EventDeadLetters {
         Preconditions.checkArgument(insertionId != null, FAIL_DELIVERED_ID_INSERTION_CANNOT_BE_NULL);
 
         synchronized (deadLetters) {
-            return Mono.fromRunnable(() -> deadLetters.put(registeredGroup, insertionId, failDeliveredEvent))
-                .subscribeWith(MonoProcessor.create())
-                .then();
+            deadLetters.put(registeredGroup, insertionId, failDeliveredEvent);
+            return Mono.empty();
         }
     }
 
@@ -54,8 +53,8 @@ public class MemoryEventDeadLetters implements EventDeadLetters {
         Preconditions.checkArgument(failDeliveredInsertionId != null, FAIL_DELIVERED_ID_INSERTION_CANNOT_BE_NULL);
 
         synchronized (deadLetters) {
-            return Mono.justOrEmpty(deadLetters.remove(registeredGroup, failDeliveredInsertionId))
-                .then();
+            deadLetters.remove(registeredGroup, failDeliveredInsertionId);
+            return Mono.empty();
         }
     }
 
@@ -74,14 +73,14 @@ public class MemoryEventDeadLetters implements EventDeadLetters {
         Preconditions.checkArgument(registeredGroup != null, REGISTERED_GROUP_CANNOT_BE_NULL);
 
         synchronized (deadLetters) {
-            return Flux.fromIterable(deadLetters.row(registeredGroup).keySet());
+            return Flux.fromIterable(ImmutableList.copyOf(deadLetters.row(registeredGroup).keySet()));
         }
     }
 
     @Override
     public Flux<Group> groupsWithFailedEvents() {
         synchronized (deadLetters) {
-            return Flux.fromIterable(deadLetters.rowKeySet());
+            return Flux.fromIterable(ImmutableList.copyOf(deadLetters.rowKeySet()));
         }
     }
 }


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