sodonnel opened a new pull request, #11844:
URL: https://github.com/apache/ozone/pull/11844

   ## What changes were proposed in this pull request?
   
   [HDDS-15482](https://issues.apache.org/jira/browse/HDDS-15482) fencing logic 
to shutdown DNs of the wrong version. However it has also caused DNs to 
shutdown if the recon fails to register them, which is not the intention. The 
issue is:
   
   1. ReconNodeManager.register() catches InvalidTopologyException and returns 
errorNodeNotPermitted to the DN. This was in place before 
[HDDS-15482](https://issues.apache.org/jira/browse/HDDS-15482).
   2. [HDDS-15482](https://issues.apache.org/jira/browse/HDDS-15482) added 
errorNodeNotPermitted → DN SHUTDOWN logic in RegisterEndpointTask, but didn't 
check whether the responding endpoint is passive (Recon). RunningDatanodeState 
then sees any endpoint returning SHUTDOWN and shuts down the whole datanode.
   
   Before [HDDS-15482](https://issues.apache.org/jira/browse/HDDS-15482), the 
errorNodeNotPermitted from Recon would fall through throw a RuntimeException, 
and get caught as a task execution error — logged but harmless. After 
[HDDS-15482](https://issues.apache.org/jira/browse/HDDS-15482), it hits the new 
shutdown path.
   
   To fix this we just have to ignore such errors for passive end points.
   
   ## What is the link to the Apache JIRA
   
   https://issues.apache.org/jira/browse/HDDS-17560
   
   ## How was this patch tested?
   
   New test to explicitly check that passive endpoints (recon) do not cause a 
shutdown when the DN fails to register but active end points do cause the 
shutdown.
   


-- 
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.

To unsubscribe, e-mail: [email protected]

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