Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Done
-
None
-
None
-
None
-
None
Description
After enabling thread context in Ozone log messages, we see some Ratis operations being executed in common fork join pool. E.g.
2019-04-11 14:25:54,583 ForkJoinPool.commonPool-worker-3 INFO storage.RaftLogWorker (RaftLogWorker.java:rollLogSegment(303)) - 3e59bcbc-e6f0-4681-b8a6-76e163e9ff19-RaftLogWorker: Rolling segment log-0_70 to index:70
and
2019-04-11 14:25:56,715 ForkJoinPool.commonPool-worker-1 INFO client.GrpcClientProtocolService (GrpcClientProtocolService.java:lambda$processClientRequest$0(264)) - Failed RaftClientRequest:client-B5832CAE4B89->8a182bb4-96a8-42e8-a7da-549c9663fc30@group-7136CD304607, cid=333, seq=0, Watch-ALL_COMMITTED(79), Message:<EMPTY>, reply=RaftClientReply:client-B5832CAE4B89->8a182bb4-96a8-42e8-a7da-549c9663fc30@group-7136CD304607, cid=333, FAILED org.apache.ratis.protocol.NotLeaderException: Server 8a182bb4-96a8-42e8-a7da-549c9663fc30 is not the leader (beff1b4d-05f9-4f7d-a6f2-1405b0950e8c:10.22.8.149:57253). Request must be sent to leader., logIndex=0, commits[8a182bb4-96a8-42e8-a7da-549c9663fc30:c129, 48a1cbdc-86a2-40d3-9831-13e044923ee4:c72, beff1b4d-05f9-4f7d-a6f2-1405b0950e8c:c129]
It's better to use a dedicated ExecutorService or ForkJoinPool instead.
Attachments
Issue Links
- is fixed by
-
RATIS-1497 Avoid using ForkJoinPool.commonPool() in GrpcClientProtocolService
- Resolved
-
RATIS-1503 Avoid using ForkJoinPool.commonPool() in RaftServerProxy/Impl
- Resolved
-
RATIS-1656 Leftover usage of ForkJoinPool.commonPool() in RaftServerImpl
- Resolved