Hello James A

2026-10-19 16:06:22 DEBUG [aws-java-sdk-NettyEventLoop-0-63] 
s.a.a.h.n.n.i.NettyRequestExecutor - Failed to create connection to 
https://s3.us-east-1.amazonaws.com/

It appears the Amazon S3 driver here do not succeed to open a connection to 
James. I do not think it is a software problem but more of an 
infrastructure/network problem...

--

Best regards,

Benoit TELLIER

General manager of Linagora VIETNAM <https://linagora.vn>.
Product owner for Twake-Mail <https://github.com/linagora/tmail-flutter> 
product.
Chairman of the Apache James project <https://james.apache.org/>.

Mail: [email protected]
Tel: (0033) 6 77 26 04 58 (WhatsApp, Signal)

On Oct 21, 2026 at 4:01 AM, James A via server-user 
<[email protected]> wrote:

> Hi James Support Team,
> We are building an email platform using Apache James 3.9.0 with Cassandra 
> 4.1.10, Amazon MQ (RabbitMQ), and Amazon S3 as the object store.
>
> Apache James is deployed as a containerized application on AWS EKS, using 
> JMAP protocol to communicate with James.
>
> We are experiencing intermittent S3-related failures when retrieving email 
> message summaries from James. On average, we observe approximately 10 
> occurrences per day, and during these periods, requests reaching James time 
> out until the issue clears.
>
> As part of our investigation, we have reviewed the health and resource 
> utilization of James, Cassandra, and S3, and all metrics appear to be within 
> normal operating limits. Both the James application and the S3 buckets are 
> deployed in the same AWS region, so cross-region latency is not a factor.
>
> Has anyone encountered a similar issue with Apache James and S3-backed blob 
> storage? Any insights, recommendations, or known fixes would be greatly 
> appreciated.
>
> The error stack trace is included below for reference.
>
> 2026-10-19 16:06:21 ERROR [parallel-6] o.a.james.PeriodicalHealthChecks - 
> UNHEALTHY: ObjectStorage : Error checking ObjectSotrage
>
> java.util.concurrent.TimeoutException: Did not observe any item or terminal 
> signal within 10000ms in 'handle' (and no fallback has been configured)
> at 
> reactor.core.publisher.FluxTimeout$TimeoutMainSubscriber.handleTimeout(FluxTimeout.java:296)
> at 
> reactor.core.publisher.FluxTimeout$TimeoutMainSubscriber.doTimeout(FluxTimeout.java:281)
> at 
> reactor.core.publisher.FluxTimeout$TimeoutTimeoutSubscriber.onNext(FluxTimeout.java:420)
> at 
> reactor.core.publisher.FluxOnErrorReturn$ReturnSubscriber.onNext(FluxOnErrorReturn.java:162)
> at 
> reactor.core.publisher.MonoDelay$MonoDelayRunnable.propagateDelay(MonoDelay.java:270)
> at reactor.core.publisher.MonoDelay$MonoDelayRunnable.run(MonoDelay.java:285)
> at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68)
> at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28)
> at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
> at 
> java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
> at java.base/java.lang.Thread.run(Thread.java:1583)
> 2026-10-19 16:06:22 DEBUG [sdk-ScheduledExecutor-2-3] 
> software.amazon.awssdk.request - Sending Request: 
> DefaultSdkHttpFullRequest(httpMethod=GET, protocol=https, 
> host=s3.us-east-1.amazonaws.com, encodedPath=/, 
> headers=[amz-sdk-invocation-id, User-Agent], queryParameters=[])
> 2026-10-19 16:06:22 DEBUG [sdk-ScheduledExecutor-2-3] 
> s.a.a.c.i.h.p.s.AsyncSigningStage - Using SelectedAuthScheme: aws.auth#sigv4
> 2026-10-19 16:06:22 DEBUG [aws-java-sdk-NettyEventLoop-0-63] 
> s.a.a.h.n.n.i.NettyRequestExecutor - Failed to create connection to 
> https://s3.us-east-1.amazonaws.com/
> java.util.concurrent.CancellationException: null
> at 
> java.base/java.util.concurrent.CompletableFuture.cancel(CompletableFuture.java:2510)
> at 
> reactor.core.publisher.MonoCompletionStage$MonoCompletionStageSubscription.cancel(MonoCompletionStage.java:156)
> at 
> reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.cancel(FluxFlattenIterable.java:312)
> at 
> reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.cancel(FluxMapFuseable.java:365)
> at 
> reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber.cancel(FluxHandleFuseable.java:265)
> at 
> reactor.core.publisher.Operators$MultiSubscriptionSubscriber.drainLoop(Operators.java:2424)
> at 
> reactor.core.publisher.Operators$MultiSubscriptionSubscriber.drain(Operators.java:2392)
> at 
> reactor.core.publisher.Operators$MultiSubscriptionSubscriber.cancel(Operators.java:2204)
> at 
> reactor.core.publisher.FluxTimeout$TimeoutMainSubscriber.handleTimeout(FluxTimeout.java:295)
> at 
> reactor.core.publisher.FluxTimeout$TimeoutMainSubscriber.doTimeout(FluxTimeout.java:281)
> at 
> reactor.core.publisher.FluxTimeout$TimeoutTimeoutSubscriber.onNext(FluxTimeout.java:420)
> at 
> reactor.core.publisher.FluxOnErrorReturn$ReturnSubscriber.onNext(FluxOnErrorReturn.java:162)
> at 
> reactor.core.publisher.MonoDelay$MonoDelayRunnable.propagateDelay(MonoDelay.java:270)
> at reactor.core.publisher.MonoDelay$MonoDelayRunnable.run(MonoDelay.java:285)
> at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68)
> at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28)
> at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
> at 
> java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
> at java.base/java.lang.Thread.run(Thread.java:1583)

Reply via email to