-
Type:
Sub-task
-
Status: Resolved
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 0.5.0
-
Component/s: OM HA, Ozone Manager
-
Labels:
-
Target Version/s:
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.
- links to