Hello,

For some time now, I have seen a timeout error in the postgres executor:
o.a.j.b.postgres.utils.PostgresExecutor - Time out executing Postgres query. 
May need to check either jOOQ reactive issue or Postgres DB performance.
This was mainly happening in TMail and was reported here: 
https://github.com/linagora/tmail-backend/issues/1599

I have now found a way to reproduce this reliably with the Docker image built 
from the current James master (bf100353ac3c4fc76d9ecced7472528b43e1ca21).
When using opensearch as the search backend and triggering a full reindex with curl -XPOST 
'http://<IP>:<port>/mailboxes?task=reIndex&messagesPerSecond=1', I observe the 
following behavior:

2026-09-25T10:29:41.968Z [INFO ] o.a.j.webadmin.mdc.LoggingRequestFilter - 
WebAdmin request received
2026-09-25T10:29:41.974Z [INFO ] o.a.m.tools.indexer.ReIndexerPerformer - 
Starting a full reindex
2026-09-25T10:29:41.985Z [INFO ] o.a.j.webadmin.mdc.LoggingResponseFilter - 
WebAdmin response received
2026-09-25T10:29:43.178Z [INFO ] 
o.a.j.m.o.e.OpenSearchListeningMessageSearchIndex - Indexing mailbox 
email-88f7e4e1-cb74-47fb-a4f6-3046afc29714 of user re-indexing on message 1
2026-09-25T10:29:44.120Z [INFO ] 
o.a.j.m.o.e.OpenSearchListeningMessageSearchIndex - Indexing mailbox 
email-88f7e4e1-cb74-47fb-a4f6-3046afc29714 of user re-indexing on message 2
2026-09-25T10:29:45.125Z [INFO ] 
o.a.j.m.o.e.OpenSearchListeningMessageSearchIndex - Indexing mailbox 
email-88f7e4e1-cb74-47fb-a4f6-3046afc29714 of user re-indexing on message 3
2026-09-25T10:29:46.128Z [INFO ] 
o.a.j.m.o.e.OpenSearchListeningMessageSearchIndex - Indexing mailbox 
email-88f7e4e1-cb74-47fb-a4f6-3046afc29714 of user re-indexing on message 4
2026-09-25T10:29:47.131Z [INFO ] 
o.a.j.m.o.e.OpenSearchListeningMessageSearchIndex - Indexing mailbox 
email-88f7e4e1-cb74-47fb-a4f6-3046afc29714 of user re-indexing on message 5
2026-09-25T10:29:48.135Z [INFO ] 
o.a.j.m.o.e.OpenSearchListeningMessageSearchIndex - Indexing mailbox 
email-88f7e4e1-cb74-47fb-a4f6-3046afc29714 of user re-indexing on message 6
2026-09-25T10:29:49.137Z [INFO ] 
o.a.j.m.o.e.OpenSearchListeningMessageSearchIndex - Indexing mailbox 
email-88f7e4e1-cb74-47fb-a4f6-3046afc29714 of user re-indexing on message 7
2026-09-25T10:29:50.147Z [INFO ] 
o.a.j.m.o.e.OpenSearchListeningMessageSearchIndex - Indexing mailbox 
email-88f7e4e1-cb74-47fb-a4f6-3046afc29714 of user re-indexing on message 8
2026-09-25T10:29:51.143Z [INFO ] 
o.a.j.m.o.e.OpenSearchListeningMessageSearchIndex - Indexing mailbox 
email-88f7e4e1-cb74-47fb-a4f6-3046afc29714 of user re-indexing on message 9
2026-09-25T10:29:52.052Z [ERROR] o.a.j.b.postgres.utils.PostgresExecutor - Time 
out executing Postgres query. May need to check either jOOQ reactive issue or 
Postgres DB performance.
java.util.concurrent.TimeoutException: Did not observe any item or terminal 
signal within 10000ms in 'flatMapMany' (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(Unknown Source)
        at 
java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown
 Source)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown 
Source)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown 
Source)
        at java.base/java.lang.Thread.run(Unknown Source)
2026-09-25T10:29:52.058Z [INFO ] o.a.m.tools.indexer.ReIndexerPerformer - Full 
reindex finished
2026-09-25T10:29:52.059Z [ERROR] o.a.james.task.SerialTaskManagerWorker - Task 
was partially performed. Check logs for more details. Taskid : 
TaskId{value=9553e1df-9ad0-42d6-b90d-30c5882b8d17}

This error always happens 10 seconds after starting the reindex task.
Therefore, exactly 9 batches of the size specified with messagesPerSecond are 
processed.
When indexing 2 messages per second, the indexer manages to index the first 18 
messages, when indexing 5 messages per second, the first 45 messages are 
indexed, and so on...

I don't know much about this part of the codebase and would be happy about help 
to debug this.
Did somebody else ever see this error or can somebody else reproduce it?

Best regards,
Felix
---
Gesellschaft für interkulturelles
Zusammenleben gGmbH (GIZ)
Felix Auringer
IT
Reformationsplatz 2
13597 Berlin

Tel: 030/513 0100 00; Fax: 030/513 0100 09 www.giz.berlin; [email protected]

Amtsgericht Charlottenburg HRB 200872 B
Geschäftsführerin: Dr. Britta Marschke

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to