Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Duplicate
-
None
-
None
-
None
-
Docs Required, Release Notes Required
Description
Motivation
Chnaging pools and related parking/unparking lead to an increase in latency. Sometimes we can avoid extra pool changing, for example, by doing it for embedded operations.
ReplicaManager#onReplicaMessageReceived
ExecutorService stripeExecutor = ReplicationGroupStripes.stripeFor(request.groupId(), requestsExecutor); stripeExecutor.execute(() -> handleReplicaRequest(request, senderConsistentId, correlationId));
This code changes a thread, even if it is not necessary.
Definition of done
ReplicaManager should not switch threads if it does not lead to starvation (in my opinion, the splitting is needed only in the case of the network thread).
Attachments
Issue Links
- is blocked by
-
IGNITE-17824 Use named executor instead of default one in order to process replica Response
- Resolved
-
IGNITE-20373 Fix IO threading model
- Resolved