[ https://issues.apache.org/jira/browse/IGNITE-20868?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vyacheslav Koptilin updated IGNITE-20868: ----------------------------------------- Labels: ignite-3 (was: ) > 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 > Priority: Major > Labels: ignite-3 > > 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)