errose28 commented on pull request #2471:
URL: https://github.com/apache/ozone/pull/2471#issuecomment-889444500


   Thanks for taking a look at this issue @guihecheng. I am not sure the 
interrupt reported in the Jira came from 
`DatanodeStateMachine#triggerHeartbeat`. Below is my current understanding, let 
me know what you think:
   
   - `DatanodeStateMachine#triggerHeartbeat` Is only called when the container 
services have started.
   - Container services are not started until `OzoneContainer#start` is called 
by `VersionEndpointTask#call`
   - `VersionEndpointTask#call` will not occur until the datanode endpoint 
tasks are registered by `context#execute` inside the main loop of 
`DatanodeStateMachine#start`.
   - At this point, pre-finalize upgrade actions must have finished.
   
   **If this is correct** then the interrupt could not have come from 
`DatanodeStateMachine#triggerHeartbeat`, and we need a new fix to determine 
where the interrupt came from.
   
   **Else if this is not correct** then we need to figure out why 
`DatanodeStateMachine#triggerHeartbeat`, and possibly all container services, 
are being called/started while the pre-finalize upgrade actions are running. If 
this is really happening it is an error and the fix will be to have all 
pre-finalize actions run before container services are started.
   
   Also, those ratis log messages shared in the jira that occur before the 
pre-finalize actions appear to come from normal raft server construction. I do 
not think they indicate that the raft server was actually started when they 
were printed, since that should not happen until `OzoneContainer#start` is 
called I believe.
   
   Do you have any way to reproduce this issue or help verify where the 
interrupt came from?


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