You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Three P2 findings on PR #454 walked back, all real overclaims:
P2 1 (APPEND_ONLY_RAFT_DOVETAIL.md):
Walked back 'compaction runs INDEPENDENTLY of consensus
replication'. Under peer-Raft, compaction COMMITS a new manifest
version which IS part of the consensus log; the compaction OPERATION
runs locally but its OUTPUT (new fragments + new manifest delta)
flows through Raft like any other write. So peers see it. The
independence claim should have been narrower: the SCHEDULING of
the operation is local; the OUTCOME replicates.
P2 2 (APPEND_ONLY_RAFT_DOVETAIL.md):
Walked back 'no tombstones to reclaim in the LSM sense; layout
optimization only'. Lance compact_files DOES reclaim deleted rows
and dropped columns by default. Different mechanism from LSM
tombstones (Lance has no tombstones at the version level; rows
are deleted via deletion vectors which compaction materializes
away) but the functional role of reclamation IS present for
datasets that use deletes, updates, or dropped columns. The doc
now distinguishes 'no LSM-style tombstone reclaim' from 'has
deletion-vector reclaim and dropped-column reclaim'.
P2 3 (CLUSTER_ASYMMETRY.md):
Walked back the claim that Lance versions() is 'the time-axis
index of which identity positions changed when'. versions()
returns Vec<lance::dataset::Version> metadata: snapshot tags +
timestamps, not a change-set index. To find which identities
changed between versions, adopters compare snapshots OR maintain
a separate index. The corrected bullet describes versions() as
the version-snapshot log (which it is) and notes that the
change-set derivation is consumer code.
Provenance: Codex P2 review on PR #454 commit 16f879b.
Copy file name to clipboardExpand all lines: docs/APPEND_ONLY_RAFT_DOVETAIL.md
+52-24Lines changed: 52 additions & 24 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -53,7 +53,7 @@ Compare this with the conventional alternatives:
53
53
|---|---|---|
54
54
|**LSM-tree (Cassandra)**| Paxos-light / gossip | Storage AND consensus both have their own append-then-mutate cycles. Compaction in storage interacts with hinted handoff in consensus. Coordination headaches. |
55
55
|**B-tree (PostgreSQL)**| 2PC (citus-like) | Storage in-place updates fight with 2PC's append-log. Vacuum interacts with commit-log replay. More headaches. |
56
-
|**Append-only Lance**| Append-only Raft | One write shape. Storage commit = consensus log entry. No interaction problems. (Lance does have its own file-layout compaction via `DatasetOptimizer.compact_files`, but it runs INDEPENDENTLY of consensus — see Operational consequence #1.) |
56
+
|**Append-only Lance**| Append-only Raft | One write shape. Storage commit = consensus log entry. (`DatasetOptimizer.compact_files` produces a new manifest version — that output replicates through the same Raft log as a normal write. The operation runs in one place; the result replicates. Per codex P2 PR #454— see Operational consequence #1 for the honest framing.) |
0 commit comments