Skip to content
This repository was archived by the owner on Aug 3, 2026. It is now read-only.

Revalidate unique-index point reads - #185

Closed
pathscale wants to merge 1 commit into
masterfrom
fix/unique-read-revalidation
Closed

Revalidate unique-index point reads#185
pathscale wants to merge 1 commit into
masterfrom
fix/unique-read-revalidation

Conversation

@pathscale

Copy link
Copy Markdown
Owner

Summary

  • revalidate the returned row field after resolving a unique-index link
  • cover in-memory, persisted, and read-only generated table families
  • preserve OrderedFloat equality semantics for floating-point unique indexes
  • add deterministic stale-link regressions for integer and float keys

Correctness boundary

A stale unique-index entry can no longer make select_by_<unique> return a row whose indexed field differs from the requested key. A mismatch returns None. This change does not claim that the lookup is linearizable or retry a concurrently changing index.

Verification

  • cargo test --workspace --all-targets: passed (486 passed, 5 ignored across the main suites, plus workspace crate tests)
  • cargo fmt --all -- --check: passed
  • cargo clippy --all-targets -- -D warnings: passed
  • cargo clippy --workspace --all-targets -- -D warnings: reaches a pre-existing clippy::useless_conversion failure in performance_measurement/codegen/src/performance_measurement.rs:90

Performance

Criterion unique_index_select_by_test, seven alternating before/after pairs (30 samples, 0.5 s warm-up, 1 s measurement):

  • master mean: 56.907 ns
  • patched mean: 56.533 ns
  • delta: -0.66%
  • patched result was faster in 6 of 7 pairs

No measurable regression was found, so this correctness check is not feature-gated.

@pathscale

Copy link
Copy Markdown
Owner Author

Superseded by #187, which consolidated and merged the backend-selection and publication hardening work after the combined review and validation rounds.

@pathscale pathscale closed this Aug 3, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant