Fix "rejected task, all threads were busy" error in Confluence Data Center

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Summary

When creating and saving a new drawing in draw.io "Error saving file" appears, and the drawing is not saved.

The following error appears in the atlassian-confluence.log:

2025-01-01 00:00:00,001 ERROR [SCM-asyncTasks:thread-1] [internal.content.collab.ThreadLocalCleanUpSynchronization] afterCommit Error executing task in post-commit -- url: /confluence/rest/scroll-versions/1.0/publish/xxxxxxx/to_same/publish | userName: user_name | referer: https://confluence-server/confluence/plugins/scroll-platform/scroll-addons.action?key=xxxxxxx | traceId: abc123abc123abc123 java.util.concurrent.RejectedExecutionException: Reconciliation thread pool executor java.util.concurrent.ThreadPoolExecutor@167a8872[Running, pool size = 10, active threads = 10, queued tasks = 0, completed tasks = 22] has rejected task java.util.concurrent.CompletableFuture$AsyncRun@272f35e1 because all threads were busy. Current maximum pool size is 10 at com.atlassian.confluence.internal.content.collab.ReconciliationRejectedExecutionHandler.rejectedExecution(ReconciliationRejectedExecutionHandler.java:29) at java.base/java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:841) at java.base/java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1376) at java.base/java.util.concurrent.CompletableFuture.asyncRunStage(CompletableFuture.java:1818) at java.base/java.util.concurrent.CompletableFuture.runAsync(CompletableFuture.java:2033) at com.atlassian.confluence.internal.content.collab.ReconcileReferringContentTask.run(ReconcileReferringContentTask.java:88) ....

Environment

Confluence Data Center v9.2.1

Solution

Increase max reconciliation pool size in Confluence configuration

The following property governs the max pool size for reconciliation threads:

-Dconfluence.reconciliation.executor.max.pool.size=XX

The Default max pool size is 10. This can be set to a higher number if required. Please refer to Configuring System Properties for steps to configure the property.

Updated on May 27, 2025

Still need help?

The Atlassian Community is here for you.