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

Siyao Meng updated HDDS-16432:
------------------------------
    Description: 
Use TLA+ (via the Specula pipeline) to model and verify SCM HA follower catch 
up: the inter SCM checkpoint download and install during an apply window, the 
SCM HA transaction buffer flush versus durable index, and follower catch up 
after leader transfer. Model check the specification and validate real SCM 
traces against it. Bugs found by this effort are linked under this issue. 
Adjacent to HDDS-16141 (SCM delete-block) and HDDS-16079 (bootstrap checkpoint 
install).

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||
|scm-ha-tx-buffer|medium|{{campaigns/ozone-9fbf9ee/targets/018-scm-ha-tx-buffer/.prompt-extra.md}}|1
 reproduced Critical, 1 masked Medium|
|scm-follower-catchup|high|{{campaigns/ozone-9fbf9ee/targets/019-scm-follower-catchup/.prompt-extra.md}}|1
 masked Medium|

h3. Reproduce
{code:none}
specula run --agent=claude-code --effort=<effort> --keep-original 
--max-parallel=2 \
  --enable-reviews --confirm-debate --tlc-memory-limit=28G --tlc-worker-limit=8 
\
  "<target>|apache/ozone|Java|Use the target-specific .prompt-extra.md"
{code}

h3. Bugs (link via "Testing discovered")
* (REPRODUCED, Critical) HDDS-16452: an InterSCMGrpcService.download checkpoint 
served during an apply window ships data at index i under the stale durable 
index i minus 1, so a follower installs it and durably holds data ahead of its 
recorded index. [scm-ha-tx-buffer MC-2]
* (MASKED, Medium) HDDS-16453: an unguarded transaction buffer flush commits 
data under a stale index (DurableIndexMatchesData violated), masked by SCM 
idempotent replay, with divergence risk the moment a non idempotent replicated 
transaction is added. [scm-ha-tx-buffer MC-1]
* (MASKED, Medium) HDDS-16454: a new SCM leader whose apply lags commit drops 
reports for committed but unapplied containers as CONTAINER_NOT_FOUND, leaving 
replica location accounting incomplete, masked by the WARN only default and 
replication manager readiness gating. [scm-follower-catchup MC-2]

Generated with Specula (Claude Opus 4.8).


  was:
Use TLA+ (via the Specula pipeline) to model and verify SCM HA follower catch 
up: the inter SCM checkpoint download and install during an apply window, the 
SCM HA transaction buffer flush versus durable index, and follower catch up 
after leader transfer. Model check the specification and validate real SCM 
traces against it. Bugs found by this effort are linked under this issue. 
Adjacent to HDDS-16141 (SCM delete-block) and HDDS-16079 (bootstrap checkpoint 
install).

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||
|scm-ha-tx-buffer|medium|{{campaigns/ozone-9fbf9ee/targets/018-scm-ha-tx-buffer/.prompt-extra.md}}|1
 reproduced Critical, 1 masked Medium|
|scm-follower-catchup|high|{{campaigns/ozone-9fbf9ee/targets/019-scm-follower-catchup/.prompt-extra.md}}|1
 masked Medium|

h3. Reproduce
{code:none}
specula run --agent=claude-code --effort=<effort> --keep-original 
--max-parallel=2 \
  --enable-reviews --confirm-debate --tlc-memory-limit=28G --tlc-worker-limit=8 
\
  "<target>|apache/ozone|Java|Use the target-specific .prompt-extra.md"
{code}

h3. Bugs (link via "Testing discovered")
* (REPRODUCED, Critical) HDDS-16452: an InterSCMGrpcService.download checkpoint 
served during an apply window ships data at index i under the stale durable 
index i minus 1, so a follower installs it and durably holds data ahead of its 
recorded index. [scm-ha-tx-buffer MC-2]
* (MASKED, Medium) HDDS-16453: real defect currently masked; classify by 
consequence with the mask named. [scm-ha-tx-buffer MC-1]
* (MASKED, Medium) HDDS-16454: real defect currently masked; classify by 
consequence with the mask named. [scm-follower-catchup MC-2]

Generated with Specula (Claude Opus 4.8).



> Formal verification for Ozone SCM HA Ratis follower catch-up and checkpoint 
> install with TLA+
> ---------------------------------------------------------------------------------------------
>
>                 Key: HDDS-16432
>                 URL: https://issues.apache.org/jira/browse/HDDS-16432
>             Project: Apache Ozone
>          Issue Type: Sub-task
>            Reporter: Siyao Meng
>            Priority: Major
>
> Use TLA+ (via the Specula pipeline) to model and verify SCM HA follower catch 
> up: the inter SCM checkpoint download and install during an apply window, the 
> SCM HA transaction buffer flush versus durable index, and follower catch up 
> after leader transfer. Model check the specification and validate real SCM 
> traces against it. Bugs found by this effort are linked under this issue. 
> Adjacent to HDDS-16141 (SCM delete-block) and HDDS-16079 (bootstrap 
> checkpoint install).
> 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||
> |scm-ha-tx-buffer|medium|{{campaigns/ozone-9fbf9ee/targets/018-scm-ha-tx-buffer/.prompt-extra.md}}|1
>  reproduced Critical, 1 masked Medium|
> |scm-follower-catchup|high|{{campaigns/ozone-9fbf9ee/targets/019-scm-follower-catchup/.prompt-extra.md}}|1
>  masked Medium|
> h3. Reproduce
> {code:none}
> specula run --agent=claude-code --effort=<effort> --keep-original 
> --max-parallel=2 \
>   --enable-reviews --confirm-debate --tlc-memory-limit=28G 
> --tlc-worker-limit=8 \
>   "<target>|apache/ozone|Java|Use the target-specific .prompt-extra.md"
> {code}
> h3. Bugs (link via "Testing discovered")
> * (REPRODUCED, Critical) HDDS-16452: an InterSCMGrpcService.download 
> checkpoint served during an apply window ships data at index i under the 
> stale durable index i minus 1, so a follower installs it and durably holds 
> data ahead of its recorded index. [scm-ha-tx-buffer MC-2]
> * (MASKED, Medium) HDDS-16453: an unguarded transaction buffer flush commits 
> data under a stale index (DurableIndexMatchesData violated), masked by SCM 
> idempotent replay, with divergence risk the moment a non idempotent 
> replicated transaction is added. [scm-ha-tx-buffer MC-1]
> * (MASKED, Medium) HDDS-16454: a new SCM leader whose apply lags commit drops 
> reports for committed but unapplied containers as CONTAINER_NOT_FOUND, 
> leaving replica location accounting incomplete, masked by the WARN only 
> default and replication manager readiness gating. [scm-follower-catchup MC-2]
> 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