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 ro...@apache.org on 2019/06/18 15:49:12 UTC

[james-project] branch master updated (84160f7 -> 4c9d1c6)

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

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


    from 84160f7  JAMES-2777 fix too strong expectation about task cancellation
     new 25bc095  JAMES-2786 Use a channel pool for EventBus
     new 6ca0d4c  JAMES-2786 RabbitMQ EventBus stop consume messages under heavy load
     new 263dd37  Merge remote-tracking branch 'benoit/JAMES-2759-fixes'
     new 7d87b35  JAMES-2630 Use an elastic scheduler for byte reading
     new 4c9d1c6  Merge remote-tracking branch 'benoit/JAMES-2630-fix'

The 5 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:
 .../org/apache/james/mailbox/events/RabbitMQEventBus.java  |  2 +-
 .../apache/james/mailbox/events/RabbitMQEventBusTest.java  | 14 ++++----------
 .../src/main/java/org/apache/james/blob/api/Store.java     |  2 ++
 3 files changed, 7 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] 05/05: Merge remote-tracking branch 'benoit/JAMES-2630-fix'

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 4c9d1c6965fedc7b3b8d095d9b0de5a350a97084
Merge: 263dd37 7d87b35
Author: Raphael Ouazana <ra...@linagora.com>
AuthorDate: Tue Jun 18 17:48:54 2019 +0200

    Merge remote-tracking branch 'benoit/JAMES-2630-fix'

 server/blob/blob-api/src/main/java/org/apache/james/blob/api/Store.java | 2 ++
 1 file changed, 2 insertions(+)


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


[james-project] 04/05: Merge remote-tracking branch 'benoit/JAMES-2759-fixes'

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 263dd370f051470e1890cc8ba8c73b2f9dfd43ea
Merge: 84160f7 6ca0d4c
Author: Raphael Ouazana <ra...@linagora.com>
AuthorDate: Tue Jun 18 17:48:38 2019 +0200

    Merge remote-tracking branch 'benoit/JAMES-2759-fixes'

 .../org/apache/james/mailbox/events/RabbitMQEventBus.java  |  2 +-
 .../apache/james/mailbox/events/RabbitMQEventBusTest.java  | 14 ++++----------
 2 files changed, 5 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] 03/05: JAMES-2786 RabbitMQ EventBus stop consume messages under heavy load

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 6ca0d4c25c6eb6551548574c20a5280f27597460
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Mon Jun 17 10:45:08 2019 +0700

    JAMES-2786 RabbitMQ EventBus stop consume messages under heavy load
---
 .../apache/james/mailbox/events/RabbitMQEventBusTest.java  | 14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/mailbox/event/event-rabbitmq/src/test/java/org/apache/james/mailbox/events/RabbitMQEventBusTest.java b/mailbox/event/event-rabbitmq/src/test/java/org/apache/james/mailbox/events/RabbitMQEventBusTest.java
index eb285d0..d160031 100644
--- a/mailbox/event/event-rabbitmq/src/test/java/org/apache/james/mailbox/events/RabbitMQEventBusTest.java
+++ b/mailbox/event/event-rabbitmq/src/test/java/org/apache/james/mailbox/events/RabbitMQEventBusTest.java
@@ -27,7 +27,6 @@ import static org.apache.james.backend.rabbitmq.Constants.EMPTY_ROUTING_KEY;
 import static org.apache.james.backend.rabbitmq.Constants.EXCLUSIVE;
 import static org.apache.james.backend.rabbitmq.Constants.NO_ARGUMENTS;
 import static org.apache.james.mailbox.events.EventBusConcurrentTestContract.newCountingListener;
-import static org.apache.james.mailbox.events.EventBusConcurrentTestContract.totalEventsReceived;
 import static org.apache.james.mailbox.events.EventBusTestFixture.ALL_GROUPS;
 import static org.apache.james.mailbox.events.EventBusTestFixture.EVENT;
 import static org.apache.james.mailbox.events.EventBusTestFixture.GROUP_A;
@@ -74,7 +73,6 @@ import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.RegisterExtension;
 import org.mockito.stubbing.Answer;
 
-import com.google.common.collect.ImmutableList;
 import com.rabbitmq.client.Connection;
 
 import reactor.core.publisher.Mono;
@@ -191,7 +189,7 @@ class RabbitMQEventBusTest implements GroupContract.SingleEventBusGroupContract,
             EventBusTestFixture.MailboxListenerCountingSuccessfulExecution countingListener1 = newCountingListener();
 
             eventBus().register(countingListener1, new EventBusTestFixture.GroupA());
-            int totalGlobalRegistrations = 1; // GroupA + GroupB + GroupC
+            int totalGlobalRegistrations = 1;
 
             int threadCount = 10;
             int operationCount = 10000;
@@ -206,13 +204,9 @@ class RabbitMQEventBusTest implements GroupContract.SingleEventBusGroupContract,
             // there is a moment when RabbitMQ EventBus consumed amount of messages, then it will stop to consume more
             await()
                 .pollInterval(com.jayway.awaitility.Duration.FIVE_SECONDS)
-                .timeout(com.jayway.awaitility.Duration.TEN_MINUTES).until(() -> {
-                    int totalEventsReceived = totalEventsReceived(ImmutableList.of(countingListener1));
-                    System.out.println("event received: " + totalEventsReceived);
-                    System.out.println("dispatching count: " + eventBus.eventDispatcher.dispatchCount.get());
-                    assertThat(totalEventsReceived)
-                        .isEqualTo(totalGlobalRegistrations * totalDispatchOperations);
-                });
+                .timeout(com.jayway.awaitility.Duration.TEN_MINUTES).until(() ->
+                    assertThat(countingListener1.numberOfEventCalls())
+                        .isEqualTo(totalGlobalRegistrations * totalDispatchOperations));
         }
 
         @Override


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


[james-project] 01/05: JAMES-2630 Use an elastic scheduler for byte reading

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 7d87b35510d9861b2c93306961852a4f87c45225
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Fri Jun 14 17:58:27 2019 +0700

    JAMES-2630 Use an elastic scheduler for byte reading
    
    RabbitMQ tests got a 0.5% failure rate:
    
    [21312fd7e0e3ffaf3f478f2e168b0c21ffaf5ecc] [ERROR] increasingBucketCountShouldAllowBrowsingAllQueueElements{CassandraCluster}  Time elapsed: 0.274 s  <<< ERROR!
    [21312fd7e0e3ffaf3f478f2e168b0c21ffaf5ecc] java.lang.IllegalStateException: block()/blockFirst()/blockLast() are blocking, which is not supported in thread parallel-2
---
 server/blob/blob-api/src/main/java/org/apache/james/blob/api/Store.java | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/server/blob/blob-api/src/main/java/org/apache/james/blob/api/Store.java b/server/blob/blob-api/src/main/java/org/apache/james/blob/api/Store.java
index 07a5611..2dbcdf8 100644
--- a/server/blob/blob-api/src/main/java/org/apache/james/blob/api/Store.java
+++ b/server/blob/blob-api/src/main/java/org/apache/james/blob/api/Store.java
@@ -28,6 +28,7 @@ import org.apache.commons.lang3.tuple.Pair;
 
 import reactor.core.publisher.Flux;
 import reactor.core.publisher.Mono;
+import reactor.core.scheduler.Schedulers;
 import reactor.util.function.Tuple2;
 
 public interface Store<T, I> {
@@ -101,6 +102,7 @@ public interface Store<T, I> {
         @Override
         public Mono<T> read(I blobIds) {
             return Flux.fromIterable(blobIds.asMap().entrySet())
+                .publishOn(Schedulers.elastic())
                 .flatMapSequential(
                     entry -> blobStore.readBytes(entry.getValue())
                         .zipWith(Mono.just(entry.getKey())))


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


[james-project] 02/05: JAMES-2786 Use a channel pool for EventBus

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 25bc0958880430f3b317c27d21ccb6bcdda596d0
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Mon Jun 17 10:43:13 2019 +0700

    JAMES-2786 Use a channel pool for EventBus
---
 .../src/main/java/org/apache/james/mailbox/events/RabbitMQEventBus.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mailbox/event/event-rabbitmq/src/main/java/org/apache/james/mailbox/events/RabbitMQEventBus.java b/mailbox/event/event-rabbitmq/src/main/java/org/apache/james/mailbox/events/RabbitMQEventBus.java
index 784baab..dfd0294 100644
--- a/mailbox/event/event-rabbitmq/src/main/java/org/apache/james/mailbox/events/RabbitMQEventBus.java
+++ b/mailbox/event/event-rabbitmq/src/main/java/org/apache/james/mailbox/events/RabbitMQEventBus.java
@@ -106,8 +106,8 @@ public class RabbitMQEventBus implements EventBus, Startable {
             isRunning = false;
             groupRegistrationHandler.stop();
             keyRegistrationHandler.stop();
-            channelPool.close();
             sender.close();
+            channelPool.close();
         }
     }
 


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