You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ozone.apache.org by "Ivan Andika (Jira)" <ji...@apache.org> on 2026/01/14 09:33:00 UTC
[jira] [Updated] (HDDS-14426) OMResponse.leaderOMNodeId should not use RaftClientMessage.serverId
[ 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: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org