Ivan Andika created RATIS-2524:
----------------------------------
Summary: Implement ReadIndex coalescing
Key: RATIS-2524
URL: https://issues.apache.org/jira/browse/RATIS-2524
Project: Ratis
Issue Type: Improvement
Reporter: Ivan Andika
Currently each read will trigger a ReadIndex call.
One improvement is to batch reads together to a single ReadIndex call.
Rule: A ReadIndex result may only serve reads whose invocation happened before
the ReadIndex request is logically issued.
{code:java}
t1: read A arrives at follower
t2: read B arrives at follower
t3: follower sends one ReadIndex request for batch [A, B]
t4: leader processes ReadIndex and returns index I
t5: follower applies >= I
t6: A and B query local state and complete
It's not
{code}
{code:java}
t1: read A arrives
t2: follower sends ReadIndex request
t3: leader processes it
t4: read B arrives
t5: follower attaches B to A's ReadIndex result
{code}
This maybe can be implemented using batching window.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)