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

Siyao Meng updated HDDS-17628:
------------------------------
    Description: 
This is a runnable Apache Ozone formal-verification target for the Specula 
pipeline (TLA+ model checking plus trace validation against the real code). It 
has not been run yet. Anyone can pick it up: run Specula against the pinned 
commit, then report findings on this issue. Part of umbrella HDDS-15926.

h3. Target
{{om-snapshot-diff-optimized}}. Scope and code entry points are in the attached 
guidance file [^om-snapshot-diff-optimized.guidance.md]. Added as a placeholder 
while the optimized path from HDDS-9154 was being merged; HDDS-16569 ran before 
that path was reachable and did not include it.

h3. Run environment
{noformat}
Apache Ozone commit: d3b75c75bf9ad475551202477c3a21a3f4b968b7
Specula:             https://github.com/specula-org/Specula (v1.1.0 or later)
Toolchain:           JDK 21, ~28 GB RAM for TLC, an LLM coding agent 
(claude-code or codex adapter)
Runtime:             hours per target; needs an agent API budget
{noformat}

h3. How to run
# Clone Specula and install per its README; clone apache/ozone and check out 
the pinned commit above.
# Place the attached guidance file as the target's .prompt-extra.md (see the 
Specula README for target layout).
# Run:
{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 
\
  "om-snapshot-diff-optimized|apache/ozone|Java|Use the target-specific 
.prompt-extra.md"
{code}
# Deliverables land under the run's {{.specula-output/}}: 
{{confirmed-bugs.md}}, {{bug-severity.md}}, {{summary.md}}, and 
{{confirmation/<id>/investigation.md}}.

h3. Reporting results
Comment here with the outcome (0 findings is still useful: it records the 
target as covered at this commit). For each confirmed bug, file a separate 
Ozone Bug and link it to this issue with the "Testing" link type ("Testing 
discovered").

h3. Notes
* Code entry-point line numbers in the guidance were captured at an earlier 
commit and may have shifted on this head; treat them as approximate. Specula 
re-analyzes the source, so the run does not depend on them.
* Recon-building targets need a local Specula patch to skip Maven {{target/}} 
out-of-tree symlinks in {{snapshotlib._validate_source_tree}}, else the run 
crashes at finalize.
* effort=medium is the tested default for large targets; effort=high can hit 
per-turn timeouts on the biggest ones.
* Findings are proposals, to be confirmed by human review and testing before 
any fix is merged.


  was:
Placeholder for a future Specula target. Do not run it yet.

This target will verify the optimized snapshot diff path from HDDS-9154: the 
key ordered merge of the two snapshots with a dependency ordered report 
(HDDS-15390, HDDS-15391, HDDS-15393, HDDS-15394), which HDDS-15397 put behind 
{{ozone.om.snapshot.diff.optimized.enabled}} (default false). Work under 
HDDS-9154 is still open: HDDS-15400 (enable it by default and deprecate the old 
path), HDDS-15401 (remove the flag), HDDS-15402 (remove the old code), 
HDDS-15399 and HDDS-16058. HDDS-16569 ({{om-snapshot-diff-semantics}}) ran 
before the optimized path was reachable and did not include it.

h3. When to revisit
Once the remaining HDDS-9154 work is resolved (at least HDDS-15400 and 
HDDS-15402): write the guidance at the master commit of that time, attach it, 
retitle this issue to the usual "[Specula] Verify om-snapshot-diff-optimized 
(Apache Ozone master @<sha>)" form, and add the help-wanted label. Until then 
the title does not follow that form on purpose, so tooling that picks the next 
open target skips it.

h3. Scope sketch
* Whether the report matches the legacy path for the same pair of snapshots, 
including renames, deletes of parents and children, and pagination.
* Whether applying the dependency ordered report in order to the older snapshot 
yields the newer one.
* Job submission, resubmission, cancellation, OM restart and leader change 
while a job runs.

Report equivalence alone may be better served by a differential property test 
against the legacy path; a model should focus on ordering and the job lifecycle.


        Summary: [Specula] Verify om-snapshot-diff-optimized (Apache Ozone 
master @d3b75c7)  (was: [Specula] Verify om-snapshot-diff-optimized 
(placeholder until HDDS-9154 is complete))

> [Specula] Verify om-snapshot-diff-optimized (Apache Ozone master @d3b75c7)
> --------------------------------------------------------------------------
>
>                 Key: HDDS-17628
>                 URL: https://issues.apache.org/jira/browse/HDDS-17628
>             Project: Apache Ozone
>          Issue Type: Sub-task
>            Reporter: Siyao Meng
>            Assignee: Siyao Meng
>            Priority: Minor
>              Labels: specula
>         Attachments: om-snapshot-diff-optimized.guidance.md
>
>
> This is a runnable Apache Ozone formal-verification target for the Specula 
> pipeline (TLA+ model checking plus trace validation against the real code). 
> It has not been run yet. Anyone can pick it up: run Specula against the 
> pinned commit, then report findings on this issue. Part of umbrella 
> HDDS-15926.
> h3. Target
> {{om-snapshot-diff-optimized}}. Scope and code entry points are in the 
> attached guidance file [^om-snapshot-diff-optimized.guidance.md]. Added as a 
> placeholder while the optimized path from HDDS-9154 was being merged; 
> HDDS-16569 ran before that path was reachable and did not include it.
> h3. Run environment
> {noformat}
> Apache Ozone commit: d3b75c75bf9ad475551202477c3a21a3f4b968b7
> Specula:             https://github.com/specula-org/Specula (v1.1.0 or later)
> Toolchain:           JDK 21, ~28 GB RAM for TLC, an LLM coding agent 
> (claude-code or codex adapter)
> Runtime:             hours per target; needs an agent API budget
> {noformat}
> h3. How to run
> # Clone Specula and install per its README; clone apache/ozone and check out 
> the pinned commit above.
> # Place the attached guidance file as the target's .prompt-extra.md (see the 
> Specula README for target layout).
> # Run:
> {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 \
>   "om-snapshot-diff-optimized|apache/ozone|Java|Use the target-specific 
> .prompt-extra.md"
> {code}
> # Deliverables land under the run's {{.specula-output/}}: 
> {{confirmed-bugs.md}}, {{bug-severity.md}}, {{summary.md}}, and 
> {{confirmation/<id>/investigation.md}}.
> h3. Reporting results
> Comment here with the outcome (0 findings is still useful: it records the 
> target as covered at this commit). For each confirmed bug, file a separate 
> Ozone Bug and link it to this issue with the "Testing" link type ("Testing 
> discovered").
> h3. Notes
> * Code entry-point line numbers in the guidance were captured at an earlier 
> commit and may have shifted on this head; treat them as approximate. Specula 
> re-analyzes the source, so the run does not depend on them.
> * Recon-building targets need a local Specula patch to skip Maven {{target/}} 
> out-of-tree symlinks in {{snapshotlib._validate_source_tree}}, else the run 
> crashes at finalize.
> * effort=medium is the tested default for large targets; effort=high can hit 
> per-turn timeouts on the biggest ones.
> * Findings are proposals, to be confirmed by human review and testing before 
> any fix is merged.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

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

Reply via email to