SaketaChalamchala opened a new pull request, #5686: URL: https://github.com/apache/ozone/pull/5686
## What changes were proposed in this pull request? Currently DN restart cleans up the EC containers in RECOVERING state. Ideally post cleanup of the recovering containers, if coordinator continues to write chunks, it should just fail. But write chunks on cleaned up container will succeed. Write chunk requests will create the container if it does not exists in OPEN state and writes the chunk with replication index 0 as the simple write chunk request will not have full EC context. This could potentially cause SCM failure like in ([HDDS-7462](https://issues.apache.org/jira/browse/HDDS-7462)). If DNs report replica index 0 for EC containers, SCM thinks system went into unexpected conditions and it will crash. Proposal change marks the container as UNHEALTHY state instead of deleting them. This is similar to the fix for ([HDDS-7462](https://issues.apache.org/jira/browse/HDDS-7462)) ## What is the link to the Apache JIRA https://issues.apache.org/jira/browse/HDDS-9657 ## How was this patch tested? This issue was reproduced [here](https://github.com/apache/ozone/compare/master...SaketaChalamchala:ozone:HDDS-9657-repro). For the reproduction to succeed, we introduced a snippet of code in OzoneContainer.java to create temporary directories for each volume in the datanode. Otherwise, DN restart will fail with NPE mentioned in [HDDS-9658](https://issues.apache.org/jira/browse/HDDS-9658). Investigation of why temporary directories are not created on DN restart will also be handled as part of HDDS-9658. Unit Test is added to test the fix. -- 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]
