Commit 7c95203
Added in pursuit of the 21million live-load failure that turned out
to be the dataKey buffer-aliasing bug fixed in 0a9ffc1. None of
these tests reproduce that specific corruption — it needs the async
rollup path that only triggers on a real running cluster — but they
pin down what the per-predicate pipeline does correctly for the
non-rollup cases:
- TestPipelineReverseListCount: one transaction, multiple subjects
pointing at multiple objects on a [uid] @reverse @count predicate.
Verifies forward and reverse lists are both complete.
- TestPipelineReverseListCountMultiBatch: 50 subjects x 20 objects
spread across 143 sequential transactions in batches of 7.
- TestPipelineReverseListCountMultiPred: 30 subjects x 12 objects
across 3 distinct list-uid + reverse + count predicates, with
shuffled edges and small batches so the per-predicate pipeline
goroutines for each predicate run in parallel inside Process().
- TestPipelineReverseListCountConcurrent: same shape as the
multi-batch case but with 10 worker goroutines submitting batches
in parallel through the fakeOracle conflict-checking harness.
All four pass cleanly. They guard against regressions in the
in-memory mutation path's reverse-list bookkeeping; the rollup path
that the 0a9ffc1 fix actually targets is exercised by the
systest/21million/live integration test.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 0a9ffc1 commit 7c95203
1 file changed
Lines changed: 459 additions & 0 deletions
0 commit comments