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/07/23 01:38:50 UTC
[james-project] branch master updated (8da802e -> 8a4afcf)
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 8da802e JAMES-3309 Avoid a NPE in FetchProcessor when SelectedMailbox is unselected
new 396c012 JAMES-2813 Disable unstable test
new d41ccba JAMES-3083 Disable unstable test in RabbitMQEventBusTest
new ab10167 JAMES-3083 Disable unstable test in RabbitMQDeletedMessageVaultIntegrationTest
new 03ecec8 fixup! JAMES-3083 Disable unstable test in RabbitMQDeletedMessageVaultIntegrationTest
new 9cdeb21 JAMES-3008: add test for DistributedTaskManagerTest
new 8a4afcf [CHANGELOG] Document recent work
The 6 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:
CHANGELOG.md | 11 ++++
.../james/mailbox/events/RabbitMQEventBusTest.java | 1 +
...RabbitMQDeletedMessageVaultIntegrationTest.java | 13 ++++
.../vault/DeletedMessageVaultIntegrationTest.java | 2 +-
.../distributed/DistributedTaskManagerTest.java | 75 ++++++++++++++++++++++
.../MemoryTerminationSubscriberTest.java | 10 +++
6 files changed, 111 insertions(+), 1 deletion(-)
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[james-project] 04/06: fixup! JAMES-3083 Disable unstable test in
RabbitMQDeletedMessageVaultIntegrationTest
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 03ecec83b8836d0fb4d5f72c25015ee30827a9f6
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Thu Jul 16 15:34:22 2020 +0700
fixup! JAMES-3083 Disable unstable test in RabbitMQDeletedMessageVaultIntegrationTest
---
.../webadmin/integration/vault/DeletedMessageVaultIntegrationTest.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/vault/DeletedMessageVaultIntegrationTest.java b/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/vault/DeletedMessageVaultIntegrationTest.java
index 86ca7da..de68b44 100644
--- a/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/vault/DeletedMessageVaultIntegrationTest.java
+++ b/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/vault/DeletedMessageVaultIntegrationTest.java
@@ -481,7 +481,7 @@ public abstract class DeletedMessageVaultIntegrationTest {
@Tag(BasicFeature.TAG)
@Test
- public void vaultExportShouldExportZipContainsVaultMessagesToShareeWhenJmapDeleteMessage() throws Exception {
+ void vaultExportShouldExportZipContainsVaultMessagesToShareeWhenJmapDeleteMessage() throws Exception {
bartSendMessageToHomer();
WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
String messageIdOfHomer = listMessageIdsForAccount(homerAccessToken).get(0);
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[james-project] 03/06: JAMES-3083 Disable unstable test in
RabbitMQDeletedMessageVaultIntegrationTest
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 ab10167e46e3831ac064d82b21f46aafc44c39e2
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Thu Jul 16 14:06:54 2020 +0700
JAMES-3083 Disable unstable test in RabbitMQDeletedMessageVaultIntegrationTest
---
.../vault/RabbitMQDeletedMessageVaultIntegrationTest.java | 13 +++++++++++++
.../vault/DeletedMessageVaultIntegrationTest.java | 4 ++--
2 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/vault/RabbitMQDeletedMessageVaultIntegrationTest.java b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/vault/RabbitMQDeletedMessageVaultIntegrationTest.java
index c620031..d4f94d9 100644
--- a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/vault/RabbitMQDeletedMessageVaultIntegrationTest.java
+++ b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/vault/RabbitMQDeletedMessageVaultIntegrationTest.java
@@ -23,9 +23,11 @@ import org.apache.james.CassandraExtension;
import org.apache.james.CassandraRabbitMQJamesConfiguration;
import org.apache.james.CassandraRabbitMQJamesServerMain;
import org.apache.james.DockerElasticSearchExtension;
+import org.apache.james.GuiceJamesServer;
import org.apache.james.JamesServerBuilder;
import org.apache.james.JamesServerExtension;
import org.apache.james.SearchConfiguration;
+import org.apache.james.junit.categories.BasicFeature;
import org.apache.james.modules.AwsS3BlobStoreExtension;
import org.apache.james.modules.RabbitMQExtension;
import org.apache.james.modules.TestJMAPServerModule;
@@ -33,6 +35,9 @@ import org.apache.james.modules.blobstore.BlobStoreConfiguration;
import org.apache.james.modules.vault.TestDeleteMessageVaultPreDeletionHookModule;
import org.apache.james.webadmin.integration.WebadminIntegrationTestModule;
import org.apache.james.webadmin.integration.vault.DeletedMessageVaultIntegrationTest;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension;
class RabbitMQDeletedMessageVaultIntegrationTest extends DeletedMessageVaultIntegrationTest {
@@ -62,4 +67,12 @@ class RabbitMQDeletedMessageVaultIntegrationTest extends DeletedMessageVaultInte
protected void awaitSearchUpToDate() {
ES_EXTENSION.await();
}
+
+ @Disabled("JAMES-2688 Unstable test")
+ @Test
+ @Tag(BasicFeature.TAG)
+ @Override
+ public void vaultExportShouldExportZipContainsVaultMessagesToShareeWhenImapDeletedMailbox(GuiceJamesServer jmapServer) {
+
+ }
}
diff --git a/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/vault/DeletedMessageVaultIntegrationTest.java b/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/vault/DeletedMessageVaultIntegrationTest.java
index 5412f23..86ca7da 100644
--- a/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/vault/DeletedMessageVaultIntegrationTest.java
+++ b/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/vault/DeletedMessageVaultIntegrationTest.java
@@ -481,7 +481,7 @@ public abstract class DeletedMessageVaultIntegrationTest {
@Tag(BasicFeature.TAG)
@Test
- void vaultExportShouldExportZipContainsVaultMessagesToShareeWhenJmapDeleteMessage() throws Exception {
+ public void vaultExportShouldExportZipContainsVaultMessagesToShareeWhenJmapDeleteMessage() throws Exception {
bartSendMessageToHomer();
WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
String messageIdOfHomer = listMessageIdsForAccount(homerAccessToken).get(0);
@@ -522,7 +522,7 @@ public abstract class DeletedMessageVaultIntegrationTest {
@Tag(BasicFeature.TAG)
@Test
- void vaultExportShouldExportZipContainsVaultMessagesToShareeWhenImapDeletedMailbox(GuiceJamesServer jmapServer) throws Exception {
+ public void vaultExportShouldExportZipContainsVaultMessagesToShareeWhenImapDeletedMailbox(GuiceJamesServer jmapServer) throws Exception {
bartSendMessageToHomer();
WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
String messageIdOfHomer = listMessageIdsForAccount(homerAccessToken).get(0);
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[james-project] 05/06: JAMES-3008: add test for
DistributedTaskManagerTest
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 9cdeb21b77bcb7d672548c7f2691d96ecf90df7d
Author: duc91 <vd...@linagora.com>
AuthorDate: Thu Jul 16 11:19:38 2020 +0700
JAMES-3008: add test for DistributedTaskManagerTest
---
.../distributed/DistributedTaskManagerTest.java | 75 ++++++++++++++++++++++
1 file changed, 75 insertions(+)
diff --git a/server/task/task-distributed/src/test/java/org/apache/james/task/eventsourcing/distributed/DistributedTaskManagerTest.java b/server/task/task-distributed/src/test/java/org/apache/james/task/eventsourcing/distributed/DistributedTaskManagerTest.java
index 37e4b7d..233dd9a 100644
--- a/server/task/task-distributed/src/test/java/org/apache/james/task/eventsourcing/distributed/DistributedTaskManagerTest.java
+++ b/server/task/task-distributed/src/test/java/org/apache/james/task/eventsourcing/distributed/DistributedTaskManagerTest.java
@@ -20,6 +20,7 @@
package org.apache.james.task.eventsourcing.distributed;
import static com.rabbitmq.client.MessageProperties.PERSISTENT_TEXT_PLAIN;
+import static java.nio.charset.StandardCharsets.UTF_8;
import static org.apache.james.backends.cassandra.Scenario.Builder.executeNormally;
import static org.apache.james.backends.cassandra.Scenario.Builder.fail;
import static org.apache.james.task.eventsourcing.distributed.RabbitMQWorkQueue.EXCHANGE_NAME;
@@ -102,6 +103,8 @@ import reactor.rabbitmq.Sender;
class DistributedTaskManagerTest implements TaskManagerContract {
+ private static final byte[] BAD_PAYLOAD = "BAD_PAYLOAD!".getBytes(UTF_8);
+
static class TrackedRabbitMQWorkQueueSupplier implements WorkQueueSupplier {
private final List<RabbitMQWorkQueue> workQueues;
private final RabbitMQWorkQueueSupplier supplier;
@@ -218,6 +221,78 @@ class DistributedTaskManagerTest implements TaskManagerContract {
}
@Test
+ void badPayloadShouldNotAffectTaskManagerOnCancelTask() throws TaskManager.ReachedTimeoutException {
+ TaskManager taskManager = taskManager(HOSTNAME);
+ TaskId id = taskManager.submit(new MemoryReferenceTask(() -> {
+ Thread.sleep(250);
+ return Task.Result.COMPLETED;
+ }));
+
+ rabbitMQExtension.getSender()
+ .send(Mono.just(new OutboundMessage(EXCHANGE_NAME, ROUTING_KEY, BAD_PAYLOAD)))
+ .block();
+
+ taskManager.cancel(id);
+ taskManager.await(id, TIMEOUT);
+ assertThat(taskManager.getExecutionDetails(id).getStatus())
+ .isEqualTo(TaskManager.Status.CANCELLED);
+ }
+
+ @Test
+ void badPayloadsShouldNotAffectTaskManagerOnCancelTask() throws TaskManager.ReachedTimeoutException {
+ TaskManager taskManager = taskManager(HOSTNAME);
+ TaskId id = taskManager.submit(new MemoryReferenceTask(() -> {
+ Thread.sleep(250);
+ return Task.Result.COMPLETED;
+ }));
+
+ IntStream.range(0, 100)
+ .forEach(i -> rabbitMQExtension.getSender()
+ .send(Mono.just(new OutboundMessage(EXCHANGE_NAME, ROUTING_KEY, BAD_PAYLOAD)))
+ .block());
+
+ taskManager.cancel(id);
+ taskManager.await(id, TIMEOUT);
+ assertThat(taskManager.getExecutionDetails(id).getStatus())
+ .isEqualTo(TaskManager.Status.CANCELLED);
+ }
+
+ @Test
+ void badPayloadShouldNotAffectTaskManagerOnCompleteTask() throws TaskManager.ReachedTimeoutException {
+ TaskManager taskManager = taskManager(HOSTNAME);
+ TaskId id = taskManager.submit(new MemoryReferenceTask(() -> {
+ Thread.sleep(250);
+ return Task.Result.COMPLETED;
+ }));
+
+ rabbitMQExtension.getSender()
+ .send(Mono.just(new OutboundMessage(EXCHANGE_NAME, ROUTING_KEY, BAD_PAYLOAD)))
+ .block();
+
+ taskManager.await(id, TIMEOUT);
+ assertThat(taskManager.getExecutionDetails(id).getStatus())
+ .isEqualTo(TaskManager.Status.COMPLETED);
+ }
+
+ @Test
+ void badPayloadsShouldNotAffectTaskManagerOnCompleteTask() throws TaskManager.ReachedTimeoutException {
+ TaskManager taskManager = taskManager(HOSTNAME);
+ TaskId id = taskManager.submit(new MemoryReferenceTask(() -> {
+ Thread.sleep(250);
+ return Task.Result.COMPLETED;
+ }));
+
+ IntStream.range(0, 100)
+ .forEach(i -> rabbitMQExtension.getSender()
+ .send(Mono.just(new OutboundMessage(EXCHANGE_NAME, ROUTING_KEY, BAD_PAYLOAD)))
+ .block());
+
+ taskManager.await(id, TIMEOUT);
+ assertThat(taskManager.getExecutionDetails(id).getStatus())
+ .isEqualTo(TaskManager.Status.COMPLETED);
+ }
+
+ @Test
void givenOneEventStoreTwoEventTaskManagersShareTheSameEvents() {
try (EventSourcingTaskManager taskManager1 = taskManager();
EventSourcingTaskManager taskManager2 = taskManager(HOSTNAME_2)) {
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[james-project] 02/06: JAMES-3083 Disable unstable test in
RabbitMQEventBusTest
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 d41ccbaf2e513cc49fd5a5498e20e24a7c720b9c
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Thu Jul 16 14:02:38 2020 +0700
JAMES-3083 Disable unstable test in RabbitMQEventBusTest
---
.../test/java/org/apache/james/mailbox/events/RabbitMQEventBusTest.java | 1 +
1 file changed, 1 insertion(+)
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 d2eac1f..1fab4cc 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
@@ -581,6 +581,7 @@ class RabbitMQEventBusTest implements GroupContract.SingleEventBusGroupContract,
assertThatListenerReceiveOneEvent(listener);
}
+ @Disabled("JAMES-3083 Disable this unstable test")
@Test
void dispatchShouldWorkAfterRestartForNewKeyRegistration() throws Exception {
eventBus.start();
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[james-project] 01/06: JAMES-2813 Disable unstable test
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 396c012d784d9115b4b790eca7f6e35878758763
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Thu Jul 16 13:59:10 2020 +0700
JAMES-2813 Disable unstable test
---
.../task/eventsourcing/MemoryTerminationSubscriberTest.java | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/server/task/task-memory/src/test/java/org/apache/james/task/eventsourcing/MemoryTerminationSubscriberTest.java b/server/task/task-memory/src/test/java/org/apache/james/task/eventsourcing/MemoryTerminationSubscriberTest.java
index b8d2707..544795f 100644
--- a/server/task/task-memory/src/test/java/org/apache/james/task/eventsourcing/MemoryTerminationSubscriberTest.java
+++ b/server/task/task-memory/src/test/java/org/apache/james/task/eventsourcing/MemoryTerminationSubscriberTest.java
@@ -20,8 +20,18 @@
package org.apache.james.task.eventsourcing;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+
class MemoryTerminationSubscriberTest implements TerminationSubscriberContract {
public TerminationSubscriber subscriber() {
return new MemoryTerminationSubscriber();
}
+
+ @Disabled("JAMES-2813 This test is unstable")
+ @Override
+ @Test
+ public void dynamicListeningEventsShouldGetOnlyNewEvents() {
+
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[james-project] 06/06: [CHANGELOG] Document recent work
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 8a4afcf16fd0a74c386a58986789add7c9f04bff
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Fri Jul 17 09:35:34 2020 +0700
[CHANGELOG] Document recent work
---
CHANGELOG.md | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2ca72fb..f5c8690 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -19,6 +19,9 @@ of tasks being currently executed.
- JAMES-3117 Add PeriodicalHealthChecks for periodical calling all health checks
- JAMES-3143 WebAdmin endpoint to solve Cassandra message inconsistencies
- JAMES-3138 Webadmin endpoint to recompute users current quotas on top of Guice products
+- JAMES-3296 Webadmin endpoint to rebuild RabbitMQMailQueue in the Distributed Server
+- JAMES-3266 Offer an option to disable ElasticSearch in Distributed James product
+- JAMES-3202 Reindex only outdated documents with the Mode option set to CORRECT in reindexing tasks
### Changed
- Switch to Java 11 for build and run
@@ -39,6 +42,12 @@ of tasks being currently executed.
- JAMES-3122 Log4J2 adoption for Spring product. Log file configuration needs to be updated. See upgrade instructions.
- JAMES-2760 mailqueue.size.metricsEnabled should be false by default
- JAMES-3252 DomainList autoDetection should be turned off by default. Operators relying on implicit values for enabling DomainList autoDetection now needs to explicitly configure it.
+- JAMES-3295 Multiple IMAP performance enhancements for the Distributed Server. Some enhancement might transfer to other servers as well.
+- JAMES-3184 Throttling mechanism allow an admin to specify the throughput desired for a given WebAdmin task
+- JAMES-3224 Configuration for Cassandra ConsistencyLevel.{QUORUM, SERIAL} (for multi-dc configuration)
+- JAMES-3263 Optimize RecipientRewriteTable::getMappingsForType
+- JAMES-3176 Rewritte MDN parsing with Parboiled scala (avoid asm library dependency clash within the Distributed Server)
+- JAMES-3194 Rely on DTOConverter in TaskRoute
### Fixed
- JAMES-2828 & JAMES-2929 bugs affecting JDBCMailRepository usage with PostgresSQL thanks to Jörg Thomas & Sergey B
@@ -59,6 +68,8 @@ of tasks being currently executed.
- JAMES-2632 JMAP Draft GetMailboxes performance enhancements when retrieving all mailboxes of a user
- JAMES-2964 Forbid to create User quota/ Domain quota/ Global quota using negative number
- JAMES-3074 Fixing UidValidity generation, sanitizing of invalid values upon reads. Read upgrade instructions.
+- JAMES-3305 Avoid crashes upon deserialization issues when consuming RabbitMQ messages, leverage dead-letter feature
+- JAMES-3212 JMAP Handle subcrible/unsubcrible child's folder when update mailbox
### Deprecated
- HybridBlobStore. This will be removed after 3.6.0 release. Introduced to fasten small blob access, its usage could be
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org