Siyao Meng created HDDS-16729:
---------------------------------
Summary: Add end-to-end regression coverage for snapshot diff
cancellation and resubmission
Key: HDDS-16729
URL: https://issues.apache.org/jira/browse/HDDS-16729
Project: Apache Ozone
Issue Type: Test
Reporter: Siyao Meng
Assignee: Siyao Meng
Follow-up to HDDS-16441:
https://issues.apache.org/jira/browse/HDDS-16441
https://github.com/apache/ozone/pull/11321
HDDS-16441 prevents a cancelled snapshot diff task from marking a resubmitted
job DONE with the old task's report metadata. The current regression test
inserts the job-table entry directly and calls updateJobStatusToDone, so it
does not cover cancellation, resubmission, report generation, or report
retrieval together.
Add a deterministic regression test to the existing snapshot integration suite:
# Create two snapshots with a non-empty expected diff.
# Submit diff A and pause it after report generation, before publishing
completion.
# Cancel A through the client API.
# Call submitSnapshotDiff again for the same snapshot pair, creating B with a
different jobId. Keep B paused before report generation.
# Release A and verify B remains IN_PROGRESS with its completion metadata
unchanged.
# Release B, wait for completion, and retrieve all report pages. Verify the
expected entries and successful report integrity checks.
Use bounded synchronization to control the interleaving, without manually
creating or replacing job-table entries. Any timing hook must allow
cancellation and resubmission to proceed without holding the
SnapshotDiffManager monitor.
The test must fail when the jobId completion guard introduced by HDDS-16441 is
removed, and pass with the fix. Reuse the existing cluster lifecycle and test
helpers.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]