[ 
https://issues.apache.org/jira/browse/HDDS-14426?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ivan Andika updated HDDS-14426:
-------------------------------
    Description: 
Currently in OMRatisHelper#getOMResponseFromRaftClientReply, the 
OMResponse.leaderOMNodeId is set to the replierId (i.e. 
RaftClientReply.serverId) which is set to the Raft peer that is serving the 
request.

Previously, it was fine since all Ratis request all write requests that need to 
be served by the leader. However, now that we are support OM follower read, we 
cannot use replierId as the OMResponse.leaderOMNodeId.

Hadoop27OmTransport and Hadoop3OmTransport submitRequest will update the next 
OM proxy based on this response. If the request is incorrectly set to a 
non-leader OM, this might cause the subsequent request to always be sent to the 
followers after every write. 

Additionally, we need to revisit whether we should just remove the usage of 
OMResponse.leaderOMNodeId since it we already implement suggested leader 
mechanism in HDDS-6743.

  was:
Currently in OMRatisHelper#getOMResponseFromRaftClientReply, the 
OMResponse.leaderOMNodeId is set to the replierId (i.e. 
RaftClientReply.serverId) which is set to the Raft peer that is serving the 
request.

Previously, it was fine since all Ratis request all write requests that need to 
be served by the leader. However, now that we are support OM follower read, we 
cannot use replierId as the leaderOMNodeId.

Hadoop27OmTransport and Hadoop3OmTransport submitRequest will update the next 
OM proxy based on this response. If the request is incorrectly set to a 
non-leader OM, this might cause the subsequent request to always be sent to the 
followers after every write. 

Additionally, we need to revisit whether we should just remove the usage of 
OMResponse.leaderOMNodeId since it we already implement suggested leader 
mechanism in HDDS-6743.


> OMResponse.leaderOMNodeId should not use RaftClientMessage.serverId
> -------------------------------------------------------------------
>
>                 Key: HDDS-14426
>                 URL: https://issues.apache.org/jira/browse/HDDS-14426
>             Project: Apache Ozone
>          Issue Type: Sub-task
>            Reporter: Ivan Andika
>            Assignee: Ivan Andika
>            Priority: Major
>
> Currently in OMRatisHelper#getOMResponseFromRaftClientReply, the 
> OMResponse.leaderOMNodeId is set to the replierId (i.e. 
> RaftClientReply.serverId) which is set to the Raft peer that is serving the 
> request.
> Previously, it was fine since all Ratis request all write requests that need 
> to be served by the leader. However, now that we are support OM follower 
> read, we cannot use replierId as the OMResponse.leaderOMNodeId.
> Hadoop27OmTransport and Hadoop3OmTransport submitRequest will update the next 
> OM proxy based on this response. If the request is incorrectly set to a 
> non-leader OM, this might cause the subsequent request to always be sent to 
> the followers after every write. 
> Additionally, we need to revisit whether we should just remove the usage of 
> OMResponse.leaderOMNodeId since it we already implement suggested leader 
> mechanism in HDDS-6743.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to