[ 
https://issues.apache.org/jira/browse/IGNITE-23255?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17887529#comment-17887529
 ] 

Vladislav Pyatkov commented on IGNITE-23255:
--------------------------------------------

Here is a benchmark result:
{noformat}
Benchmark              (checkCurrentLease)  (clusterSize)  (fsync)  Mode  Cnt  
Score   Error  Units
SelectBenchmark.kvGet                 true              1    false  avgt   20  
9,674 ± 0,467  us/op
SelectBenchmark.kvGet                false              1    false  avgt   20  
9,912 ± 0,359  us/op
{noformat}
Although, the patch decreases the latency of RO KV get operation only by 3 
percent, this result was repeated several times.

> Fastest way to use Placement driver for RO transaction
> ------------------------------------------------------
>
>                 Key: IGNITE-23255
>                 URL: https://issues.apache.org/jira/browse/IGNITE-23255
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Vladislav Pyatkov
>            Assignee: Vladislav Pyatkov
>            Priority: Major
>              Labels: ignite-3
>
> h3. Motivation
> We know the _completebelFuture#orTimeout_ method is not fast. By the reason 
> we added a method _LeasePlacementDriver#getCurrentPrimaryReplica_ which can 
> return a primary replica immediately if the information has cached already.
> This approach is still not used in methods for RO transactions:
> _InternalTableImpl#evaluateReadOnlyPrimaryNode_
> _InternalTableImpl#evaluateReadOnlyRecipientNode_
> h3. Definition of done
> Enrich the methods with getCurrentPrimaryReplica invokation before waiting 
> directly (We have to check it in benchmark. If the benchmark does not show a 
> reducing latency, only the next point is needed to implement).
> Enforce the awaitPrimaryReplica method in PD to use getCurrentPrimaryReplica 
> before waiting.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to