[ 
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)

Reply via email to