[
https://issues.apache.org/jira/browse/IGNITE-23255?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17887529#comment-17887529
]
Vladislav Pyatkov edited comment on IGNITE-23255 at 10/8/24 9:42 AM:
---------------------------------------------------------------------
Here is a benchmark result:
{noformat}
Benchmark (checkCurrentLease) (clusterSize) (fsync) Mode Cnt
Score Error Units
SelectBenchmark.kvGet true 1 false avgt 20
9,506 ± 0,472 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.
was (Author: v.pyatkov):
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)