Skip to content

Stabilize MCP timeout lease test under full-suite load - #4814

Merged
Widthdom merged 1 commit into
mainfrom
fix-issue4807
Jul 24, 2026
Merged

Stabilize MCP timeout lease test under full-suite load#4814
Widthdom merged 1 commit into
mainfrom
fix-issue4807

Conversation

@Widthdom

Copy link
Copy Markdown
Owner

Summary

  • Give the timeout-lease regression scheduler headroom and ID-specific readiness signals.
  • Replace instantaneous and null-forgiving checks with bounded blocked-state and typed JSON assertions.
  • Document the bilingual test contract and add the changelog fragment.

Root cause

Under full-suite load, the 100 ms timeout could expire while the second ping response continuation was scheduler-delayed. The test then followed a missing result node with null-forgiving operators, masking the timing failure as a NullReferenceException.

Validation

  • dotnet restore CodeIndex.sln
  • dotnet build CodeIndex.sln -c Release -p:UseSharedCompilation=false --no-restore
  • dotnet test CodeIndex.sln -c Release --no-build -p:UseSharedCompilation=false
    • net8.0: 10,376 passed, 7 skipped, 0 failed
    • net9.0: 9,918 passed, 404 skipped, 0 failed
  • Target test: five consecutive passes on both net8.0 and net9.0, plus a final pass on both frameworks after updating to the latest origin/main
  • make lint
  • dotnet run --project tools/CodeIndex.Changelog -- check
  • Codex adversarial review: no actionable regressions

Documentation and changelog

  • Updated the English and Japanese sections of TESTING_GUIDE.md.
  • Added changelog.d/unreleased/4807.fixed.md.

Follow-up candidates

None.

Fixes #4807

@Widthdom
Widthdom marked this pull request as ready for review July 24, 2026 17:56
@Widthdom
Widthdom merged commit 4202193 into main Jul 24, 2026
11 checks passed
@Widthdom
Widthdom deleted the fix-issue4807 branch July 24, 2026 17:57
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.

MCP timed-out concurrency lease test can null-dereference under full-suite load

1 participant