Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
Description
In the current code in applyTransaction we haveĀ
CompletableFuture<Message> future = CompletableFuture
.supplyAsync(() -> runCommand(request, trxLogIndex)); We are using ForkJoin#commonPool.
With the current approach we have 2 issues:
- Thread exhausts when using this common pool.
- Not a good practice of using common pool. Found some issues in our testing by using similarly in RatisPipelineUtils.
- OM DB's across replica can be out of sync when the apply transactions are applied in out of order.
Attachments
Attachments
Issue Links
- links to