[
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 Ozone support OM follower read, OM
cannot use replierId as the OMResponse.leaderOMNodeId.
Hadoop27OmTransport and Hadoop3OmTransport submitRequest will failover to the
this new OM node ID. If the request is incorrectly set to a non-leader OM, this
might cause the subsequent request to wrongly be sent to the follower, which
might add to the write latency.
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 Ozone support OM follower read, OM
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 failover to wrongly be sent to
the follower, which might add the write latency.
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 Ozone support OM follower read,
> OM cannot use replierId as the OMResponse.leaderOMNodeId.
> Hadoop27OmTransport and Hadoop3OmTransport submitRequest will failover to the
> this new OM node ID. If the request is incorrectly set to a non-leader OM,
> this might cause the subsequent request to wrongly be sent to the follower,
> which might add to the write latency.
> 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]