-
Notifications
You must be signed in to change notification settings - Fork 3.5k
task: Silent index corruption / incomplete index reported as success (3 issues) #391
Copy link
Copy link
Open
2 / 112 of 11 issues completedOpen
2 / 112 of 11 issues completed
Copy link
Labels
bugSomething isn't workingSomething isn't workingpriority/highNeeds near-term maintainer attention; high-impact bug, regression, safety issue, or release blocker.Needs near-term maintainer attention; high-impact bug, regression, safety issue, or release blocker.stability/performanceServer crashes, OOM, hangs, high CPU/memoryServer crashes, OOM, hangs, high CPU/memorytaskUmbrella task grouping multiple related issuesUmbrella task grouping multiple related issues
Milestone
Description
Activity
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingpriority/highNeeds near-term maintainer attention; high-impact bug, regression, safety issue, or release blocker.Needs near-term maintainer attention; high-impact bug, regression, safety issue, or release blocker.stability/performanceServer crashes, OOM, hangs, high CPU/memoryServer crashes, OOM, hangs, high CPU/memorytaskUmbrella task grouping multiple related issuesUmbrella task grouping multiple related issues
Scope
Umbrella tracker for cases where indexing reports
status: "indexed"/readybut the resulting graph is catastrophically incomplete (single-digit % of expected node count, or empty). The reports cluster around macOS, large Rust projects, and rapid kill/restart cycles where the previous process didn't release WAL or hash-row state cleanly.PR #387 ("checkpoint WAL on close and startup to prevent orphan accumulation") resolves the WAL subset; reporters asked to re-test on v0.7.0.
Sub-issues
bulk_crash_recovery/store_checkpointtests)Status (2026-05-31)
The shared WAL/checkpoint root cause (#260, #334) is addressed by #387 in v0.7.0 (checkpoint on open + close, startup WAL recovery), with existing crash-recovery regression tests. Neither is deterministically reproducible in CI (timing/platform-specific), so both await reporter confirmation on v0.7.0. #333 is a distinct Rust extraction-completeness gap (tree-sitter-only language), not corruption — tracked on that basis pending a reproducible Rust repo.
Acceptance
status: "indexed"is never returned when the index is materially incomplete — WAL stranding fixed (fix(store): checkpoint WAL on close and startup to prevent orphan accumulation #387); a plausibility-threshold gate (criterion 2) remains a candidate enhancement.bulk_crash_recoverycovers the committed/uncommitted invariants.Why one task
All three reports share the surface symptom (success reported, graph materially incomplete); #260/#334 share a WAL-checkpointing root cause, while #333 turned out to be a separate Rust-extraction-depth gap.
Added 2026-06-29 (triage)
Added 2026-07-09 (triage)
(#897 — stale -wal/-shm replay over fresh DB — has an active fix PR #940 and is tracked there.)