GlenGeng commented on pull request #1737:
URL: https://github.com/apache/ozone/pull/1737#issuecomment-753744975


   > @GlenGeng , I left one minor comment below.
   > 
   > I see now we use the term index value as the SCM leader check. This is 
used across SCM internal components. Does this will cover the client request 
behaviour?
   > 
   > For example, one client configured a single SCM address that is a Follower 
role and then send the request. Will it update the SCM metadata, like pipeline, 
containers? I see there was a isLeader check before but now that was removed in 
[HDDS-4551](https://issues.apache.org/jira/browse/HDDS-4551). Do you know the 
context for this?
   
   Hey Yiqun, thanks for the review! 
   > For example, one client configured a single SCM address that is a Follower 
role and then send the request.
   
   For now, we need client to know all the SCM instances that engage in the SCM 
raft cluster, if client send request to a follower SCM, it will get a 
NotLeaderException, and failover to the next SCM instance.
   
   >  Will it update the SCM metadata, like pipeline, containers?
   
   We removed the leader check in HDDS-4551, since all the metadata updates 
that will be saved into rocksdb will go through ratis, as a RaftClientRequest, 
so if underly Raft is in a non-Leader role, the replied RaftClientReply will be 
injected with a NotLeaderException. 
   
   Please check `SCMHAInvocationHandler` to see how we implement this: for now, 
add container, remove container, update container state, add pipeline, remove 
pipeline, update pipeline state will go through ratis.
   
   If needed, we can schedule a zoom meeting to discuss about current SCM HA 
design.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



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

Reply via email to