IGNITE-28877 .NET tests: fail fast when embedded node cannot join topology instead of hanging the suite#13357
IGNITE-28877 .NET tests: fail fast when embedded node cannot join topology instead of hanging the suite#13357anton-vinogradov wants to merge 2 commits into
Conversation
…ology instead of hanging the suite Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
CI verification on the affected suites (ci2, branch
Two findings from these runs:
(Note: build 9199026 formally shows "Canceled" — the agent process died during artifact publishing after all 301 tests had executed; yet another symptom of the current agent instability. Re-run queued for a clean status.) |
What
Since 2026-07-07 all three "Platform .NET (Windows)" TC suites intermittently die with a 120-minute "Execution timeout", each at a fixed position (1490/1342/78 passed tests). The captured stack of a stuck run shows the embedded JVM spinning forever in
ServerImpl.sendJoinRequestMessage/joinTopologyinsideIgnition.Start: if discovery port 47500 is occupied at bind time (e.g. lingering teardown of the previous fixture, or a half-stopped node), the new node binds 47501+, while the single-port static IP finder of the test configs only knows 47500, and the defaultjoinTimeout=0retries forever.This is not a code regression: the same revision both passes and hangs (e.g. builds 9190207 vs 9191076 on ci2), and a hung and a clean run consumed the very same dependency-build artifacts (9193992 vs 9198016).
Fix (test code only)
TestUtils.GetStaticDiscovery(): setJoinTimeout= 2 min so a stuck join fails the single test with a clearIgniteSpiExceptioninstead of eating the whole suite timeout, and capMaxAckTimeoutat 10 s — otherwise the exponential handshake backoff (up to 600 s per attempt) delays the join-timeout check by ~20 minutes per retry sweep.joinTimeoutfor the XML-configured discovery inapp.config/custom_app.configsections.Localhost = 127.0.0.1inComputeTaskSessionTestand themyGrid1app.config section (every other test config pins it).Verification
ComputeTaskSessionTest,IgniteConfigurationSectionTest,ClientClusterDiscoveryTestsNoLocalhost— 12/12.sendJoinRequestMessageloop); with the fix the test fails in 2 min 39 s with "Failed to connect to any address from IP finder within join timeout".🤖 Generated with Claude Code