z-bb opened a new pull request, #4997:
URL: https://github.com/apache/ozone/pull/4997

   ## What changes were proposed in this pull request?
   
   During the upgrade process, the datanode has an error exception message.
   
   datanode log:
   ```
   java.util.concurrent.ExecutionException: 
java.util.concurrent.ExecutionException: java.lang.IllegalStateException: 
DataNode has higher Software Layout Version than SCM.
       at java.util.concurrent.FutureTask.report(FutureTask.java:122)
       at java.util.concurrent.FutureTask.get(FutureTask.java:192)
       at 
org.apache.hadoop.ozone.container.common.states.datanode.RunningDatanodeState.computeNextContainerState(RunningDatanodeState.java:199)
       at 
org.apache.hadoop.ozone.container.common.states.datanode.RunningDatanodeState.await(RunningDatanodeState.java:239)
       at 
org.apache.hadoop.ozone.container.common.states.datanode.RunningDatanodeState.await(RunningDatanodeState.java:50)
       at 
org.apache.hadoop.ozone.container.common.statemachine.StateContext.execute(StateContext.java:666)
       at 
org.apache.hadoop.ozone.container.common.statemachine.DatanodeStateMachine.startStateMachineThread(DatanodeStateMachine.java:334)
       at 
org.apache.hadoop.ozone.container.common.statemachine.DatanodeStateMachine.lambda$startDaemon$0(DatanodeStateMachine.java:532)
       at java.lang.Thread.run(Thread.java:745)
   Caused by: java.util.concurrent.ExecutionException: 
java.lang.IllegalStateException: DataNode has higher Software Layout Version 
than SCM.
       at java.util.concurrent.FutureTask.report(FutureTask.java:122)
       at java.util.concurrent.FutureTask.get(FutureTask.java:206)
       at 
org.apache.hadoop.ozone.container.common.states.datanode.RunningDatanodeState.lambda$execute$0(RunningDatanodeState.java:157)
       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
       at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
       at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
       at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
       ... 1 more
   Caused by: java.lang.IllegalStateException: DataNode has higher Software 
Layout Version than SCM.
       at 
com.google.common.base.Preconditions.checkState(Preconditions.java:512)
       at 
org.apache.hadoop.ozone.container.common.states.endpoint.RegisterEndpointTask.call(RegisterEndpointTask.java:165)
       at 
org.apache.hadoop.ozone.container.common.states.endpoint.RegisterEndpointTask.call(RegisterEndpointTask.java:52)
       ... 4 more
   ```
    
   
    
   
   Through positioning, it is found that when the datanode calls the register 
method to the recon, because the recon has not been updated to the new version, 
the layout of the recon is inconsistent with the layout of the datanode.
   
   I think this exception message is misleading DataNode has higher Software 
Layout Version than SCM.
   
   ## What is the link to the Apache JIRA
   
   https://issues.apache.org/jira/browse/HDDS-8948
   
   


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