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)

Reply via email to