smengcl opened a new pull request, #11624: URL: https://github.com/apache/ozone/pull/11624
Generated-by: Claude Code (Opus 5.5) ## What changes were proposed in this pull request? Addendum to #11563, following the review discussion there. #11563 kept Recon's candidate dir after a failed OM DB download and guarded it with a Recon only `untarContentsOfTarball` override that extracts through `.tmp` files, so the retry could skip files already received. The OM follower does not do this: `OzoneManager#installSnapshotFromLeader` deletes the candidate dir after a failed download. Recon gets the active DB as one tarball, so the exclude list only has entries on a retry after a failure, and that saves little (only files before the cut, which compaction may make stale, and a full disk stays full). This patch aligns Recon with the OM follower: - Clear the candidate dir in the failure path of `OzoneManagerServiceProviderImpl#getOzoneManagerDBSnapshot` via `RDBSnapshotProvider#init`, which also resets the pinned leader. - Remove the `untarContentsOfTarball` override from `ReconRDBSnapshotProvider` and make the base method `private` again. ## What is the link to the Apache JIRA https://issues.apache.org/jira/browse/HDDS-16880 ## How was this patch tested? `testPartiallyUntarredFileNotReportedOnRetry` is renamed to `testCandidateDirClearedAfterFailedDownload` and now checks that, after a download whose tar ends in the middle of an SST file, the candidate dir is empty and the retry sends an empty exclude list. `TestOzoneManagerServiceProviderImpl`, `TestReconRDBSnapshotProvider`, `TestTriggerDBSyncEndpoint` and `TestRDBSnapshotProvider` pass (24 tests). Checkstyle is clean. 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- 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]
