Kirill Gusakov created IGNITE-20868: ---------------------------------------
Summary: ReplicaService whenCompleteAsync waste significant amount of time Key: IGNITE-20868 URL: https://issues.apache.org/jira/browse/IGNITE-20868 Project: Ignite Issue Type: Improvement Reporter: Kirill Gusakov During the YCSB 1-node embedded run we found out the following behaviour: [this code |https://github.com/apache/ignite-3/blob/82c74598b5006ea3e4e86da744a68022dd799c89/modules/replicator/src/main/java/org/apache/ignite/internal/replicator/ReplicaService.java#L92] takes significant time to execute, because of whenCompleteAsync: {code:java} private <R> CompletableFuture<R> sendToReplica(String targetNodeConsistentId, ReplicaRequest req) { CompletableFuture<R> res = new CompletableFuture<>(); // TODO: IGNITE-17824 Use named executor instead of default one in order to process replica Response. messagingService.invoke(targetNodeConsistentId, req, RPC_TIMEOUT).whenCompleteAsync( {code} The simple switch to simple whenComplete give us a boost from 26us/s to 13us/s in the 1-node fsync=false run of SelectBenchmark.kvGet -- This message was sent by Atlassian Jira (v8.20.10#820010)