Skip to content

Preserve FTS restoration failure diagnostics - #5031

Merged
Widthdom merged 1 commit into
mainfrom
fix-issue5012
Aug 1, 2026
Merged

Preserve FTS restoration failure diagnostics#5031
Widthdom merged 1 commit into
mainfrom
fix-issue5012

Conversation

@Widthdom

@Widthdom Widthdom commented Aug 1, 2026

Copy link
Copy Markdown
Owner

Summary

  • preserve the first actionable full-index exception when the implicit FTS cleanup retry also fails
  • validate newly persisted failure diagnostics and fall back to a bounded stackless exception chain when a platform frame is not report-safe
  • add regression coverage, bilingual user/testing documentation, and changelog.d/unreleased/5012.fixed.md

Root cause

A failure from FtsBulkLoadTriggerGuard.Complete left the guard active so the surrounding using retried cleanup. If that retry also failed, Dispose replaced the original exception. Separately, the failure writer could persist a sanitized diagnostic shape that the report reader's stricter canonical validation rejected as invalid.

Validation

  • dotnet build CodeIndex.sln -c Release --no-restore -p:UseSharedCompilation=false
  • dotnet build CodeIndex.sln -c Debug --no-restore -p:UseSharedCompilation=false
  • new Issue Full index can fail while restoring FTS triggers after graph finalization #5012 tests passed on net8.0 and net9.0
  • Codex adversarial review reran the related database/report suites: 364/364 passed on each target
  • full Release suite completed with only pre-existing Issue Avoid overhead that makes parallel batch slower than sequential #4872 parallel-wave timeouts under concurrent-suite load; both affected tests passed 2/2 when rerun alone on each target
  • dotnet format CodeIndex.sln --verify-no-changes --no-restore
  • dotnet run --project tools/CodeIndex.Changelog -- check
  • two large existing-database index updates completed graph finalization and FTS restoration with zero warnings/errors (20m24s and 16m10s)
  • Codex adversarial review: No blocking/actionable issues found.

Fixes #5012

@Widthdom
Widthdom marked this pull request as ready for review August 1, 2026 21:12
@Widthdom
Widthdom merged commit e18487b into main Aug 1, 2026
12 checks passed
@Widthdom
Widthdom deleted the fix-issue5012 branch August 1, 2026 21:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Full index can fail while restoring FTS triggers after graph finalization

1 participant