mirror of
https://github.com/ModernRelay/omnigraph.git
synced 2026-06-15 01:55:13 +02:00
Three primitives the cluster's object-storage port (RFC-006) needs, on the engine's existing adapter rather than a parallel store: - read_text_versioned: content + an opaque backend version token (S3: the ETag from GET; local: content sha256 — ETags don't exist on a filesystem). - write_text_if_match: replace only when the token still matches. S3 maps to a conditional put (PutMode::Update / If-Match) — verified against RustFS beta.8 through the real object_store 0.12.5 path, no extra builder config needed; local compares content then swaps via temp+rename, the same single-machine semantics callers had before this trait (safe under their own lock protocol, not a cross-process barrier by itself). CAS-lost is Ok(None), never silent. - delete_prefix: recursive + idempotent (local remove_dir_all; S3 list + delete, with the non-atomicity documented for crash-retry callers). Gated S3 coverage: s3_adapter_conditional_writes_contract pins the conditional-write behavior the cluster ledger will depend on (red if a backend bump regresses it), and s3_schema_apply_migrates_live_graph closes the previously-untested schema-apply-on-S3 path before the cluster's schema executor leans on it. Engine gains the sha2 workspace dep. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| fixtures | ||
| helpers | ||
| aggregation.rs | ||
| branching.rs | ||
| changes.rs | ||
| composite_flow.rs | ||
| consistency.rs | ||
| end_to_end.rs | ||
| export.rs | ||
| failpoints.rs | ||
| forbidden_apis.rs | ||
| lance_surface_guards.rs | ||
| lance_version_columns.rs | ||
| lifecycle.rs | ||
| literal_filters.rs | ||
| maintenance.rs | ||
| merge_truth_table.rs | ||
| ordering.rs | ||
| point_in_time.rs | ||
| policy_engine_chassis.rs | ||
| proptest_equivalence.rs | ||
| recovery.rs | ||
| s3_storage.rs | ||
| schema_apply.rs | ||
| search.rs | ||
| staged_writes.rs | ||
| traversal.rs | ||
| traversal_indexed.rs | ||
| validators.rs | ||
| writes.rs | ||