jojochuang opened a new pull request, #11808: URL: https://github.com/apache/ozone/pull/11808
## What changes were proposed in this pull request? Snapshot diff report integrity failures currently update the job using its generation ID instead of the snapshot-pair key used by the job table. The lookup returns null and throws an NPE, leaving the job DONE instead of marking it FAILED for cleanup. Older completed jobs without `largestEntryKey` also enter this failure path after an OM upgrade. Pass the job-table key through report pagination to the integrity check, skip the last-entry comparison when the stored key is absent, and guard status updates when the job no longer exists. Regression tests cover reading a completed job with a null stored last-entry key and persisting FAILED on a genuine mismatch with distinct job ID and job-table key. Adapted from [HDDS-16442.001.patch](https://issues.apache.org/jira/secure/attachment/13084493/HDDS-16442.001.patch), attached by Siyao Meng. The production fix is retained; test hunks and newer pagination test calls are adapted to current master, and the existing parameter-count suppression pattern is applied to the expanded method. ## What is the link to the Apache JIRA https://issues.apache.org/jira/browse/HDDS-16442 ## How was this patch tested? Using JDK 21: - `mvn -B -ntp -pl :ozone-manager -am test -Dtest=TestSnapshotDiffManager -Dsurefire.failIfNoSpecifiedTests=false -DskipShade -DskipRecon -DskipDocs`: 65 tests passed, zero failures or errors. - `./hadoop-ozone/dev-support/checks/checkstyle.sh`: passed, zero violations. - `git diff --check`: passed. Generated-by: Specula (Claude Opus 4.8), as disclosed in the Jira; Codex (GPT-6) for adapting and validating the patch. -- 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]
