Summary
Since ~2026-08-26 09:00 UTC, CI has been failing systematically across independent PRs and main itself in at least five unrelated test families. None of the failures correlate with the PR contents they ran on (verified: the same tests fail on PRs touching disjoint subsystems, and main's own runs are red). This issue consolidates the evidence so the ongoing stabilization work (#8733 → #8745, #8784) can cover the remaining gaps.
Failure families (with run evidence)
1. test_torch_index_with_nans — StopIteration (4+ occurrences, NOT covered by #8784)
The test (python/python/tests/test_vector_index.py:548) builds IVF_PQ with num_sub_vectors=4 — the lightweight 4-bit matrix changed in #8733. Torch PQ initialization samples 256 valid residuals from 312 non-NaN rows; StopIteration suggests the filtered sample iterator intermittently exhausts. Failed on PRs touching only mem_wal/api.rs (#8112) and only the scalar cache (#7962) — not PR-caused.
2. test_json_btree_index_null_at_path — DataFusion external sort OOM (2 occurrences)
| Run |
Job |
| 32968320570 |
linux-build (PR #7929) |
| 32970551394 |
linux-build (PR #8112) |
ResourcesExhausted: Not enough memory to continue external sort ...
fair(pool_size: 150.0 MB) — Failed to allocate additional 40.0 MB for ExternalSorterMerge[0]
Fails under parallel test load when the memory-pool fair share shrinks. rust/lance-index/src/scalar/json.rs was recently touched by #8577 (skip null tracking for BTree/Bitmap) — worth checking whether the sort input profile changed. Failed on PRs touching only mem-wal — not PR-caused.
3. io_uring worker allocation ENOMEM (2 occurrences)
| Run |
Test |
| 32951304358 |
uring::tests::test_read_range (PR #8112) |
| 32957173249 |
uring::tests::test_read_small_file (PR #7929) |
no io_uring worker threads are available: thread 0: Cannot allocate memory (os error 12)
Runner-environment issue (ring allocation restricted on some runners). Same family as #8723 (fixed hang; this is the allocation-failure manifestation).
4. Vector IVF recall/assert flakes (main red + PR runs)
Partially addressed by #8784 (4-bit PQ recall) — may already be covered.
5. Environment races (1 occurrence each)
Impact
Every open PR is rolling dice on ~35 jobs × thousands of tests; full-matrix retries (~40 min each) mostly re-fail on a different family. Contributors without write access cannot re-run failed jobs, so PRs sit red even though their code is green. Families 1–3 look deterministically reproducible under load and deserve real fixes (or marked-flaky skips with tracking), not just retries.
2026-08-31 targeted ARM follow-up
Xuanwo directly asked Yang to investigate the Linux ARM/Python 3.14 python/tests/torch_tests/test_bench_utils.py::test_ground_truth failure surfaced on PR #8893. The failing job differs from x86_64 and macOS ARM by one nearest-neighbor index under torch.allclose. First classify equal-distance/tie-order behavior versus floating-point tolerance versus an actual ARM computation defect; do not broaden tolerance until the intended invariant is proven. A Codex worktree setup was requested from clean origin/main@f39a275ccd22d9c1a4d6a95346d0c0cb50d45ade; setup returned only a client thread ID, so this targeted subtask remains Todo until a readable implementation thread exists.
Summary
Since ~2026-08-26 09:00 UTC, CI has been failing systematically across independent PRs and main itself in at least five unrelated test families. None of the failures correlate with the PR contents they ran on (verified: the same tests fail on PRs touching disjoint subsystems, and main's own runs are red). This issue consolidates the evidence so the ongoing stabilization work (#8733 → #8745, #8784) can cover the remaining gaps.
Failure families (with run evidence)
1.
test_torch_index_with_nans— StopIteration (4+ occurrences, NOT covered by #8784)[V3]+[Legacy](PR #7962)[Legacy](PR #7962)The test (
python/python/tests/test_vector_index.py:548) builds IVF_PQ withnum_sub_vectors=4— the lightweight 4-bit matrix changed in #8733. Torch PQ initialization samples 256 valid residuals from 312 non-NaN rows;StopIterationsuggests the filtered sample iterator intermittently exhausts. Failed on PRs touching onlymem_wal/api.rs(#8112) and only the scalar cache (#7962) — not PR-caused.2.
test_json_btree_index_null_at_path— DataFusion external sort OOM (2 occurrences)Fails under parallel test load when the memory-pool fair share shrinks.
rust/lance-index/src/scalar/json.rswas recently touched by #8577 (skip null tracking for BTree/Bitmap) — worth checking whether the sort input profile changed. Failed on PRs touching only mem-wal — not PR-caused.3. io_uring worker allocation ENOMEM (2 occurrences)
uring::tests::test_read_range(PR #8112)uring::tests::test_read_small_file(PR #7929)Runner-environment issue (ring allocation restricted on some runners). Same family as #8723 (fixed hang; this is the allocation-failure manifestation).
4. Vector IVF recall/assert flakes (main red + PR runs)
test_ground_truth,test_ann(assert 11 == 15)test_create_ivf_hnsw_pq_multivectest_create_ivf_pq_cosinePartially addressed by #8784 (4-bit PQ recall) — may already be covered.
5. Environment races (1 occurrence each)
test_build_ivf_flat::case_3— "failed to persist temp file ... The system cannot find the file specified" (PR fix(index): replace scalar cache entries on store rotation #7962 windows-build, run 32951474604)object_store::tests::test_cloud_paths—reqwest Connect TimedOutresolvingbucket.s3.amazonaws.comregion (PR fix(index): replace scalar cache entries on store rotation #7962, run 32973042691)Impact
Every open PR is rolling dice on ~35 jobs × thousands of tests; full-matrix retries (~40 min each) mostly re-fail on a different family. Contributors without write access cannot re-run failed jobs, so PRs sit red even though their code is green. Families 1–3 look deterministically reproducible under load and deserve real fixes (or marked-flaky skips with tracking), not just retries.
2026-08-31 targeted ARM follow-up
Xuanwo directly asked Yang to investigate the Linux ARM/Python 3.14
python/tests/torch_tests/test_bench_utils.py::test_ground_truthfailure surfaced on PR #8893. The failing job differs from x86_64 and macOS ARM by one nearest-neighbor index undertorch.allclose. First classify equal-distance/tie-order behavior versus floating-point tolerance versus an actual ARM computation defect; do not broaden tolerance until the intended invariant is proven. A Codex worktree setup was requested from cleanorigin/main@f39a275ccd22d9c1a4d6a95346d0c0cb50d45ade; setup returned only a client thread ID, so this targeted subtask remains Todo until a readable implementation thread exists.