[
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 set the next OM
node ID to this OM node ID. If the request is incorrectly set to a non-leader
OM, this might cause the subsequent failover to wrongly goes to a 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 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.
> 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
> Labels: pull-request-available
>
> 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 set the next OM
> node ID to this OM node ID. If the request is incorrectly set to a non-leader
> OM, this might cause the subsequent failover to wrongly goes to a 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]