-
Notifications
You must be signed in to change notification settings - Fork 31
Open
Labels
bugSomething isn't workingSomething isn't workingstatus/reproducedBug has been reproducedBug has been reproduced
Description
π Bug Description
percolator.Commit currently accepts commitVersion < startVersion and persists it.
This violates MVCC ordering and allows values to become visible before the transaction start timestamp.
Code path:
percolator/txn.go:88percolator/txn.go:279percolator/txn.go:299
π Reproduction Steps
- Prewrite key
kwithstartVersion=20. - Commit with
commitVersion=10. - Read key at
readTs=15.
π Expected Behavior
Commit should reject requests where commitVersion < startVersion.
Read at ts=15 must not observe data from transaction startTs=20.
πΈ Screenshots / Logs
Observed output:
commit keyError: <nil>write found, commitTs=10, startTs=20read@15 value="v" err=<nil>
π» Environment
- OS: macOS 26.2 (arm64)
- Go Version: go1.24.4
- NoKV Version: current main (local HEAD on 2026-02-11)
π§ Additional Context
This issue can break snapshot visibility guarantees for distributed transactions.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingstatus/reproducedBug has been reproducedBug has been reproduced