[
https://issues.apache.org/jira/browse/IGNITE-15280?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alexey Scherbakov updated IGNITE-15280:
---------------------------------------
Description:
Current jraft read implementation uses read batching, efficiently making all
reads sequential[1] [2].
Another issues is a absense of batching in [2]
We should think about making reads concurrent.
Another task is to switch to lease reads as a default method to achieve lowest
latency.
[1] org.apache.ignite.raft.jraft.ReadOnlyService#addRequest
[2]org.apache.ignite.raft.jraft.core.ReadOnlyServiceImpl#notifySuccess
[3]
org.apache.ignite.raft.jraft.rpc.impl.client.ActionRequestProcessor#handleRequest
was:
Due to some legacy issues all reads are implemented using [1] callback,
efficiently making it sequential.
If a lease-based read (having lowest latency) model is used this is pointless,
even for a readindex method reads can be concurrent.
We should refactor
org.apache.ignite.internal.table.distributed.raft.PartitionListener#onRead for
allowing concurrent batched reads.
Another task is to switch to lease reads as a default method.
[1] org.apache.ignite.internal.table.distributed.raft.PartitionListener#onRead
> Git rid of sequential reads in raft group
> -----------------------------------------
>
> Key: IGNITE-15280
> URL: https://issues.apache.org/jira/browse/IGNITE-15280
> Project: Ignite
> Issue Type: Improvement
> Affects Versions: 3.0.0-alpha2
> Reporter: Alexey Scherbakov
> Priority: Major
>
> Current jraft read implementation uses read batching, efficiently making all
> reads sequential[1] [2].
> Another issues is a absense of batching in [2]
> We should think about making reads concurrent.
> Another task is to switch to lease reads as a default method to achieve
> lowest latency.
> [1] org.apache.ignite.raft.jraft.ReadOnlyService#addRequest
> [2]org.apache.ignite.raft.jraft.core.ReadOnlyServiceImpl#notifySuccess
> [3]
> org.apache.ignite.raft.jraft.rpc.impl.client.ActionRequestProcessor#handleRequest
--
This message was sent by Atlassian Jira
(v8.3.4#803005)