[ 
https://issues.apache.org/jira/browse/HDDS-6190?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated HDDS-6190:
---------------------------------
    Labels: pull-request-available  (was: )

> Cleanup unnecessary datanode id path checks.
> --------------------------------------------
>
>                 Key: HDDS-6190
>                 URL: https://issues.apache.org/jira/browse/HDDS-6190
>             Project: Apache Ozone
>          Issue Type: Improvement
>            Reporter: Mark Gui
>            Assignee: Mark Gui
>            Priority: Minor
>              Labels: pull-request-available
>
> For now, if the config item "ozone.scm.datanode.id.dir" is not given, 
> datanode fall back to use "ozone.metadata.dirs". But there are several places 
> to check for null or empty idFilePath which is not neccessary since datanode 
> will fail early if  "ozone.metadata.dirs"
> is not configured.
>  
> BTW we found this by running CI in our own environment and hit a failure:
> {code:java}
> [ERROR] Tests run: 4, Failures: 1, Errors: 0, Skipped: 1, Time elapsed: 
> 29.629 s <<< FAILURE! - in 
> org.apache.hadoop.ozone.container.common.TestDatanodeStateMachine[ERROR] 
> testDatanodeStateMachineWithInvalidConfiguration(org.apache.hadoop.ozone.container.common.TestDatanodeStateMachine)
>   Time elapsed: 18.4 s  <<< FAILURE!java.lang.AssertionError: 
> expected:<SHUTDOWN> but was:<RUNNING>    at 
> org.junit.Assert.fail(Assert.java:89) {code}
> The case fails every time on the CI machine but passes every time on my own 
> laptop in Intellij IDEA.
> Luckily, we found the cause:
> {code:java}
> 2022-01-17 16:02:05,957 [Test Data Node State Machine Thread - 0] ERROR 
> datanode.InitDatanodeState 
> (InitDatanodeState.java:persistContainerDatanodeDetails(141)) - Writing to 
> /datanode.id failed /datanode.id (Read-only file system) {code}
> For the test - TestDatanodeStateMachine, it considers "" to be an invalid 
> config for "ozone.scm.datanode.id.dir", and it put the datanode to a SHUTDOWN 
> state as expected but not at the write place. Actually it fails due to not 
> having the write privilege on the root directory not because of an invalid 
> config.
> But in your CI env, we just run CI as root, so the datanode goes to a RUNNING 
> state and we hit the CI failure.
>  
> I think we could just remove the invalid "ozone.scm.datanode.id.dir" check 
> for  an empty value and let it go the fallback way and all unnecessary checks 
> should be removed.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

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

Reply via email to