[ 
https://issues.apache.org/jira/browse/HDDS-16430?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Siyao Meng reassigned HDDS-16430:
---------------------------------

    Assignee: Siyao Meng

> Formal verification for Ozone OM snapshot diff jobs with TLA+
> -------------------------------------------------------------
>
>                 Key: HDDS-16430
>                 URL: https://issues.apache.org/jira/browse/HDDS-16430
>             Project: Apache Ozone
>          Issue Type: Sub-task
>            Reporter: Siyao Meng
>            Assignee: Siyao Meng
>            Priority: Major
>
> Use TLA+ (via the Specula pipeline) to model and verify the OM 
> SnapshotDiffManager job lifecycle: submit, cancel, resubmit, generation 
> transitions, the persisted job report, and the diff cleanup service, across 
> OM upgrade and crash. Model check the specification and validate real OM 
> traces against it. Bugs found by this effort are linked under this issue. 
> Related to the snapshot lifecycle effort in HDDS-15927.
> h3. Run environment
> {noformat}
> Ozone commit: 9fbf9ee0cb1bd2f5f5d437b6719ebbe5309351fb
> Specula:      v1.1.0 (commit c6aa3dfa)
> Agent/model:  claude-code, Claude Opus 4.8 (1M context)
> {noformat}
> h3. Coverage
> ||Target||Effort||Guidance||Result||
> |om-snapshot-diff-jobs|high|{{campaigns/ozone-9fbf9ee/targets/009-om-snapshot-diff-jobs/.prompt-extra.md}}|4
>  reproduced (2 Critical, 1 High, 1 Low)|
> h3. Reproduce
> {code:none}
> specula run --agent=claude-code --effort=high --keep-original 
> --max-parallel=2 \
>   --enable-reviews --confirm-debate --tlc-memory-limit=28G 
> --tlc-worker-limit=8 \
>   "om-snapshot-diff-jobs|apache/ozone|Java|Use the target-specific 
> .prompt-extra.md"
> {code}
> h3. Bugs (link via "Testing discovered")
> * (REPRODUCED, Critical) HDDS-16441: a cancelled generation's task publishes 
> its result as the new generation's DONE, so the submit, cancel, resubmit path 
> leaves a report the reader trusts wrongly. [MC-1]
> * (REPRODUCED, Critical) HDDS-16442: after a routine OM upgrade every pre 
> existing DONE snapshot diff job deserializes with a null largestEntryKey, so 
> the first client read of the report trips the integrity check and hits an 
> uncaught failure. [CR-2]
> * (REPRODUCED, High) HDDS-16443: on resubmit of a terminal job the cleanup 
> service can purge the freshly created live generation between the two 
> persisted writes, deleting the active row and crashing the client resubmit 
> RPC. [MC-2]
> * (REPRODUCED, Low) HDDS-16444: a terminal job resubmit raises an 
> IllegalStateException that masks the original cause. [CR-3]
> Generated with Specula (Claude Opus 4.8).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to