test(harness): widen the deploy-seal timeout to match a real two-node deploy
Comparing full-suite runs on this branch against master in a clean worktree: both fail 11 tests, 9 identical. Master's two extras are load-flaky unit tests (AbCip Probe_loops, Galaxy EventPumpBoundedChannel); this branch's two extras were both Host.IntegrationTests deploy-path tests — the area this change re-times — so they are attributable here rather than to background flakiness. Cause is margin, not correctness. These waits used to observe a coordinator that sealed instantly on an empty expected-ack set; they now observe a real ApplyAck round-trip from every configured node. 15s was enormous margin against "instant" and thin against the real thing, so they failed only under full-suite CPU contention. Hoisted to TwoNodeClusterHarness.DeploySealTimeout (45s) so the reason is recorded once rather than as four unexplained numbers. DriverReconnectE2eTests is deliberately left alone: it seeds both ClusterNode rows itself and unconditionally, so its expected-ack set is identical before and after this change. Widening its timeout would be papering over a flake this change did not cause. Host.IntegrationTests 195/201; sole failure AbCip_Green_AgainstSim, verified failing on master. Claude-Session: https://claude.ai/code/session_01GASWkNEi68FSCtvr6rLoEW
This commit is contained in:
@@ -87,7 +87,7 @@ public sealed class FailoverDuringDeployTests
|
||||
await using var pollDb = await CreateDbAsync(harness);
|
||||
return await pollDb.NodeDeploymentStates.AsNoTracking()
|
||||
.CountAsync(s => s.DeploymentId == deploymentId, Ct) == 2;
|
||||
}, TimeSpan.FromSeconds(15));
|
||||
}, TwoNodeClusterHarness.DeploySealTimeout);
|
||||
|
||||
await using var db = await CreateDbAsync(harness);
|
||||
var nodeStates = await db.NodeDeploymentStates.AsNoTracking()
|
||||
@@ -143,7 +143,7 @@ public sealed class FailoverDuringDeployTests
|
||||
var d = await pollDb.Deployments.AsNoTracking()
|
||||
.FirstOrDefaultAsync(d => d.DeploymentId == deploymentId, Ct);
|
||||
return d?.Status == DeploymentStatus.Sealed;
|
||||
}, TimeSpan.FromSeconds(15));
|
||||
}, TwoNodeClusterHarness.DeploySealTimeout);
|
||||
|
||||
await using var db = await CreateDbAsync(harness);
|
||||
var nodeStates = await db.NodeDeploymentStates.AsNoTracking()
|
||||
|
||||
Reference in New Issue
Block a user