[ 
https://issues.apache.org/jira/browse/HDDS-1175?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17260260#comment-17260260
 ] 

Bharat Viswanadham commented on HDDS-1175:
------------------------------------------

Hi [~yjxxtd]
Thanks for the confirmation that in above scenario isLeaderReady() check will 
help.

{quote}Why not process read only request via ratis, then we can add 
isLeaderReady() check in the following ratis code{quote}

Yes, it can be done, as any way in OM HA, we use server-side API's so it is not 
a network call. But at the end, it is the same code getting invoked.



{code:java}
follower need to ask for commitIndex from leader, then follower wait 
(applyIndex of follower) >= (commitIndex from leader), then follower server 
read only request.
{code}

So you are suggesting if read requests also submitted to ratis, in the future 
if follower OM starts serving read requests it will be simplified, and code for 
reads will be invoked from Ratis layer.



> Serve read requests directly from RocksDB
> -----------------------------------------
>
>                 Key: HDDS-1175
>                 URL: https://issues.apache.org/jira/browse/HDDS-1175
>             Project: Hadoop Distributed Data Store
>          Issue Type: Sub-task
>          Components: OM HA, Ozone Manager
>            Reporter: Hanisha Koneru
>            Assignee: Hanisha Koneru
>            Priority: Major
>              Labels: pull-request-available
>         Attachments: HDDS-1175.001.patch
>
>          Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> We can directly server read requests from the OM's RocksDB instead of going 
> through the Ratis server. OM should first check its role and only if it is 
> the leader can it server read requests. 
> There can be a scenario where an OM can lose its Leader status but not know 
> about the new election in the ring. This OM could server stale reads for the 
> duration of the heartbeat timeout but this should be acceptable (similar to 
> how Standby Namenode could possibly server stale reads till it figures out 
> the new status).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to