Skip to content

Add S3 persisted-data integrity verification - #172

Merged
mikehorgan-dell merged 79 commits into
mainfrom
feat/write-read-verify-sol
Aug 5, 2026
Merged

Add S3 persisted-data integrity verification#172
mikehorgan-dell merged 79 commits into
mainfrom
feat/write-read-verify-sol

Conversation

@mikehorgan-dell

@mikehorgan-dell mikehorgan-dell commented Aug 5, 2026

Copy link
Copy Markdown
Member

Add persisted-data integrity verification for S3 through the new write-verify and read-verify correctness workloads. SPT writes versioned SHA-256 metadata with generated objects, verifies complete GET responses, distinguishes corruption with exit code 20, and retains canonical, crash-durable manifests and resumable evidence.

The implementation supports immediate write/read verification, CREATE-only seeding with --defer-verification, later LIST- or manifest-driven verification, verified-only cleanup, multipart uploads, Netty and AWS S3 drivers, and the RDMA software path. It also adds typed run plans, explicit lifecycle ownership, distributed image/payload identity gates, interruption-safe finalization and cleanup, credential-safe run evidence, and runnable direct-JAR scenarios.

Automatic discovery intentionally selects current object versions only. Exact historical versions may be supplied in canonical manifests; automatic all-version discovery is deferred to a follow-up release.

Accepted qualification limits

  • Real versioned-bucket behavior remains unvalidated because no versioned target was available. Exact-version manifest support is implemented but was not target-qualified.
  • RDMA hardware qualification was approved as nonblocking for this release; RDMA software-path and fallback tests passed.

Declare the nested storage.integrity subtree in the engine base schema and
defaults, disabled by default, and prove it resolves end to end against the
shipped configuration.

Add a CLI probe of the existing GET /config/schema endpoint that requires the
four integrity paths before a verification scenario is submitted. Engine
startup rejection and the scenario POST are unreliable substitutes: startup
argument handling can continue past an invalid path, and an integrity-unaware
engine rejects the scenario later with an opaque HTTP 400. The probe checks
path presence only, because confuse schema leaves are type descriptors.

Implements row 0a and part of INT-ID-001/INT-DIRECT-001.
@mikehorgan-dell
mikehorgan-dell merged commit 74faca8 into main Aug 5, 2026
6 checks passed
@mikehorgan-dell
mikehorgan-dell deleted the feat/write-read-verify-sol branch August 5, 2026 20:59
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