Skip to content

Revert "reverify append on SeqNumMismatch via read-back (#15)"#16

Merged
quettabit merged 1 commit intomainfrom
revert-seqnum-mismatch-readback
Feb 19, 2026
Merged

Revert "reverify append on SeqNumMismatch via read-back (#15)"#16
quettabit merged 1 commit intomainfrom
revert-seqnum-mismatch-readback

Conversation

@quettabit
Copy link
Member

This reverts commit 47a8ad8.

@quettabit quettabit merged commit 9d7debf into main Feb 19, 2026
3 checks passed
@greptile-apps
Copy link

greptile-apps bot commented Feb 19, 2026

Greptile Summary

Reverts PR #15 which introduced a reverify_append function to handle SeqNumMismatch errors by reading back from the stream to determine if an append actually succeeded. This revert removes the complex retry logic and returns to treating all AppendConditionFailed errors (including SeqNumMismatch) as definite failures.

Key changes:

  • Removes reverify_append function (~50 lines) that performed read-back verification on SeqNumMismatch
  • Removes AppendConditionFailed import from s2_sdk::types
  • Downgrades s2-sdk from 0.24.2 to >=0.23.0
  • Downgrades antithesis_sdk from 0.2.8 to 0.2.6
  • Lockfile reflects transitive dependency downgrades (removes async-trait, h2, newer futures versions)

Confidence Score: 5/5

  • This revert is safe to merge - it cleanly undoes the previous PR's changes
  • The revert is clean and well-structured. It properly removes the reverify_append function and all its call sites, removes unused imports, and downgrades dependencies to their previous stable versions. The code returns to a simpler, more conservative error handling strategy that treats SeqNumMismatch as a definite failure rather than attempting read-back verification
  • No files require special attention

Important Files Changed

Filename Overview
rust/s2-verification/src/history.rs Removes reverify_append function and its logic for handling SeqNumMismatch via read-back, returns to simpler definite failure handling
rust/s2-verification/Cargo.toml Reverts dependency versions: downgrades s2-sdk from 0.24.2 to >=0.23.0, downgrades various dependencies, changes antithesis_sdk from 0.2.8 to 0.2.6
Cargo.lock Lockfile changes reflecting dependency downgrades: removes newer packages like async-trait, h2, foldhash, adds back older versions of reqwest, quinn, and associated dependencies

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Append Request] --> B{Append Result}
    B -->|Success| C[AppendSuccess]
    B -->|Error| D{Error Type}
    D -->|Validation| E[AppendDefiniteFailure]
    D -->|AppendConditionFailed| F{Before: Check Type}
    D -->|Server Error| G{Check Code}
    D -->|Other| H[AppendIndefiniteFailure]
    
    F -->|SeqNumMismatch with match_seq_num| I[REMOVED: reverify_append]
    F -->|Other| E
    I --> J{Read Back from Stream}
    J -->|Read Success & Match| K[AppendSuccess - was duplicate]
    J -->|Read Fail or No Match| L[AppendDefiniteFailure]
    J -->|Read Error| H
    
    G -->|rate_limited or hot_server| E
    G -->|Other| H
    
    M[After Revert: All AppendConditionFailed] --> E
    
    style I fill:#f99,stroke:#f00
    style J fill:#f99,stroke:#f00
    style K fill:#f99,stroke:#f00
    style L fill:#f99,stroke:#f00
    style M fill:#9f9,stroke:#0f0
Loading

Last reviewed commit: 30373fe

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant