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

Siyao Meng updated HDDS-16453:
------------------------------
    Attachment: HDDS-16453.001.patch

> Unguarded transaction buffer flush commits data under a stale index (masked 
> by idempotent replay)
> -------------------------------------------------------------------------------------------------
>
>                 Key: HDDS-16453
>                 URL: https://issues.apache.org/jira/browse/HDDS-16453
>             Project: Apache Ozone
>          Issue Type: Bug
>            Reporter: Siyao Meng
>            Priority: Minor
>         Attachments: HDDS-16453.001.patch
>
>
> h3. Finding
> An unguarded flush() during an apply commits data under a stale transaction 
> index (DurableIndexMatchesData violated), so a crash+recover re-applies an 
> already-durable entry. Reachable from the real notifyLeaderChanged / 
> saveConfiguration flush callers, but the consequence is masked by SCM's 
> idempotent-replay design (all @Replicate transactions are absolute-put/CAS; 
> the one non-idempotent quantity is a deprecated no-op). Internal invariant 
> violation with no external effect today but real downstream divergence risk 
> the moment a non-idempotent replicated transaction is added.
> h3. Classification
> * Verdict: MASKED
> * Severity: Medium
> * Source: Specula TLA+ model checking and confirmation debate, finding MC-1
> h3. Reproduce
> {noformat}
> Ozone commit: 9fbf9ee0cb1bd2f5f5d437b6719ebbe5309351fb
> Specula:      v1.1.0 (commit c6aa3dfa)
> Target:       scm-ha-tx-buffer
> Guidance:     
> campaigns/ozone-9fbf9ee/targets/018-scm-ha-tx-buffer/.prompt-extra.md
> {noformat}
> {code:none}
> specula run --agent=claude-code --effort=medium --keep-original 
> --max-parallel=2 \
>   --enable-reviews --confirm-debate --tlc-memory-limit=28G 
> --tlc-worker-limit=8 \
>   "scm-ha-tx-buffer|apache/ozone|Java|Use the target-specific 
> .prompt-extra.md"
> {code}
> Discovered under HDDS-16432 (Specula TLA+ verification effort). The TLA+ 
> specification, counterexample, and confirmation debate live in the Specula 
> run artifacts.
> 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