Description
RabbitMQMailQueueTest::concurrentEnqueueDequeueShouldNotFail is unstable and have high probability of failing in some environments.
The related test is disabled, and need to be re-enabled after investigation and a fix.
Here are the related stacktrace:
[null] 11:45:50.630 [ERROR] o.a.j.u.c.ConcurrentTestRunner - Error caught during concurrent testing [null] com.rabbitmq.client.ShutdownSignalException: channel error; protocol method: #method<channel.close>(reply-code=404, reply-text=NOT_FOUND - no queue 'JamesMailQueue-workqueue-spool' in vhost '/', class-id=60, method-id=70) [null] at com.rabbitmq.client.impl.ChannelN.asyncShutdown(ChannelN.java:516) [null] at com.rabbitmq.client.impl.ChannelN.processAsync(ChannelN.java:346) [null] at com.rabbitmq.client.impl.AMQChannel.handleCompleteInboundCommand(AMQChannel.java:178) [null] at com.rabbitmq.client.impl.AMQChannel.handleFrame(AMQChannel.java:111) [null] at com.rabbitmq.client.impl.AMQConnection.readFrame(AMQConnection.java:670) [null] at com.rabbitmq.client.impl.AMQConnection.access$300(AMQConnection.java:48) [null] at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:597) [null] ... 1 common frames omitted [null] Wrapped by: com.rabbitmq.client.ShutdownSignalException: channel error; protocol method: #method<channel.close>(reply-code=404, reply-text=NOT_FOUND - no queue 'JamesMailQueue-workqueue-spool' in vhost '/', class-id=60, method-id=70) [null] at com.rabbitmq.utility.ValueOrException.getValue(ValueOrException.java:66) [null] at com.rabbitmq.utility.BlockingValueOrException.uninterruptibleGetValue(BlockingValueOrException.java:36) [null] at com.rabbitmq.client.impl.AMQChannel$BlockingRpcContinuation.getReply(AMQChannel.java:494) [null] at com.rabbitmq.client.impl.AMQChannel.privateRpc(AMQChannel.java:288) [null] at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.java:138) [null] ... 16 common frames omitted [null] Wrapped by: java.io.IOException: null [null] at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:126) [null] at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:122) [null] at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.java:144) [null] at com.rabbitmq.client.impl.ChannelN.basicGet(ChannelN.java:1148) [null] at com.rabbitmq.client.impl.recovery.AutorecoveringChannel.basicGet(AutorecoveringChannel.java:431) [null] at org.apache.james.queue.rabbitmq.RabbitClient.lambda$poll$4(RabbitClient.java:86) [null] at org.apache.james.backend.rabbitmq.SimpleChannelPool.execute(SimpleChannelPool.java:46) [null] at org.apache.james.queue.rabbitmq.RabbitClient.poll(RabbitClient.java:87) [null] at org.apache.james.queue.rabbitmq.Dequeuer.singleChannelRead(Dequeuer.java:136) [null] at com.nurkiewicz.asyncretry.AsyncRetryExecutor.lambda$getWithRetry$1(AsyncRetryExecutor.java:62) [null] at com.nurkiewicz.asyncretry.SyncRetryJob.run(SyncRetryJob.java:23) [null] ... 8 common frames omitted [null] Wrapped by: java.util.concurrent.CompletionException: java.io.IOException [null] at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:292) [null] at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:308) [null] at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:593) [null] at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577) [null] at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474) [null] at java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1977) [null] at com.nurkiewicz.asyncretry.RetryJob.retryOrAbort(RetryJob.java:74) [null] at com.nurkiewicz.asyncretry.RetryJob.handleUserThrowable(RetryJob.java:58) [null] at com.nurkiewicz.asyncretry.RetryJob.handleThrowable(RetryJob.java:50) [null] at com.nurkiewicz.asyncretry.SyncRetryJob.run(SyncRetryJob.java:26) [null] at com.nurkiewicz.asyncretry.RetryJob.run(RetryJob.java:108) [null] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [null] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [null] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [null] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [null] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [null] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [null] at java.lang.Thread.run(Thread.java:748) [null] 11:45:50.668 [ERROR] o.a.j.u.c.ConcurrentTestRunner - Error caught during concurrent testing [null] com.rabbitmq.client.ShutdownSignalException: channel error; protocol method: #method<channel.close>(reply-code=404, reply-text=NOT_FOUND - no queue 'JamesMailQueue-workqueue-spool' in vhost '/', class-id=60, method-id=70) [null] at com.rabbitmq.client.impl.ChannelN.asyncShutdown(ChannelN.java:516) [null] at com.rabbitmq.client.impl.ChannelN.processAsync(ChannelN.java:346) [null] at com.rabbitmq.client.impl.AMQChannel.handleCompleteInboundCommand(AMQChannel.java:178) [null] at com.rabbitmq.client.impl.AMQChannel.handleFrame(AMQChannel.java:111) [null] at com.rabbitmq.client.impl.AMQConnection.readFrame(AMQConnection.java:670) [null] at com.rabbitmq.client.impl.AMQConnection.access$300(AMQConnection.java:48) [null] at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:597) [null] ... 1 common frames omitted [null] Wrapped by: com.rabbitmq.client.ShutdownSignalException: channel error; protocol method: #method<channel.close>(reply-code=404, reply-text=NOT_FOUND - no queue 'JamesMailQueue-workqueue-spool' in vhost '/', class-id=60, method-id=70) [null] at com.rabbitmq.utility.ValueOrException.getValue(ValueOrException.java:66) [null] at com.rabbitmq.utility.BlockingValueOrException.uninterruptibleGetValue(BlockingValueOrException.java:36) [null] at com.rabbitmq.client.impl.AMQChannel$BlockingRpcContinuation.getReply(AMQChannel.java:494) [null] at com.rabbitmq.client.impl.AMQChannel.privateRpc(AMQChannel.java:288) [null] at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.java:138) [null] ... 16 common frames omitted [null] Wrapped by: java.io.IOException: null [null] at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:126) [null] at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:122) [null] at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.java:144) [null] at com.rabbitmq.client.impl.ChannelN.basicGet(ChannelN.java:1148) [null] at com.rabbitmq.client.impl.recovery.AutorecoveringChannel.basicGet(AutorecoveringChannel.java:431) [null] at org.apache.james.queue.rabbitmq.RabbitClient.lambda$poll$4(RabbitClient.java:86) [null] at org.apache.james.backend.rabbitmq.SimpleChannelPool.execute(SimpleChannelPool.java:46) [null] at org.apache.james.queue.rabbitmq.RabbitClient.poll(RabbitClient.java:87) [null] at org.apache.james.queue.rabbitmq.Dequeuer.singleChannelRead(Dequeuer.java:136) [null] at com.nurkiewicz.asyncretry.AsyncRetryExecutor.lambda$getWithRetry$1(AsyncRetryExecutor.java:62) [null] at com.nurkiewicz.asyncretry.SyncRetryJob.run(SyncRetryJob.java:23) [null] ... 8 common frames omitted [null] Wrapped by: java.util.concurrent.CompletionException: java.io.IOException [null] at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:292) [null] at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:308) [null] at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:593) [null] at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577) [null] at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474) [null] at java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1977) [null] at com.nurkiewicz.asyncretry.RetryJob.retryOrAbort(RetryJob.java:74) [null] at com.nurkiewicz.asyncretry.RetryJob.handleUserThrowable(RetryJob.java:58) [null] at com.nurkiewicz.asyncretry.RetryJob.handleThrowable(RetryJob.java:50) [null] at com.nurkiewicz.asyncretry.SyncRetryJob.run(SyncRetryJob.java:26) [null] at com.nurkiewicz.asyncretry.RetryJob.run(RetryJob.java:108) [null] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [null] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [null] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [null] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [null] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [null] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [null] at java.lang.Thread.run(Thread.java:748) [null] 11:45:52.196 [WARN ] o.a.j.q.r.RabbitMQMailQueue - Delays are not supported by RabbitMQ. Flush is a NOOP. [null] [ERROR] Tests run: 73, Failures: 1, Errors: 1, Skipped: 0, Time elapsed: 339.588 s <<< FAILURE! - in org.apache.james.queue.rabbitmq.RabbitMQMailQueueTest