HDDS-8101. Add FSO repair tool to ozone CLI in read-only and repair modes.
What changes were proposed in this pull request?
Bugs like HDDS-7592 can break the FSO tree and cause data to be orphaned in the OM. We have developed a tool to identify and repair this condition in the OM and tested it on affected clusters. This jira is to contribute the tool back to the community under the ozone CLI.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-8101
How was this patch tested?
Unit test, integration test.
cc. @errose28
I think we still need to decide what the CLI for this should look like. We could do
ozone {debug,repair} fso-treeorozone repair fso-tree [--dry-run]. Also as we add more of these type of commands I think ones that are specific to a component should be under their own subcommand for organization, likeozone repair om fso-tree.Attila also brought up the
--dry-runmode. I think if the command is underrepaironly, then dry run would not be the expected default value. If we add the read-only invocation underdebugthen that becomes the equivalent of dry run and no flag is needed.
Yeah! extracted common codes between FSODebugCLI and FSORepairCLI to separated base classes FSOBaseCLI and FSOBaseTool, and make them reuse same logic.
Hello team! please feel free to let me know if there is any new comment~ Thanks!