Skip to content

Commit dd0b16c

Browse files
committed
Start connection operation deadlines after cluster readiness
Use the existing startup budget for real hosted connection initialization, then reset the same cancellation source to the existing operation budget. Preserve cancelled-startup evidence, original cancellation identities, business assertions and joined cleanup. Bind nine reviewed case ranges to the actual compiled TUnit census. Verified: strict full Debug build, whole formatting verification, diagnostics, governance, seven inventory checks, complete census and all eleven affected cases at canonical processor parallelism. Complete exact-commit local and Linux Release qualification remains pending.
1 parent a8a4c52 commit dd0b16c

9 files changed

Lines changed: 37 additions & 27 deletions

File tree

‎scripts/Features/CodeQuality/functional-coverage.unit-test-inventory.json‎

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -12701,9 +12701,9 @@
1270112701
"methodName": "ReusedConnectionAwaitsCleanupAcrossSuccessCancellationDisposalAndFailure",
1270212702
"instanceName": "ReusedConnectionAwaitsCleanupAcrossSuccessCancellationDisposalAndFailure",
1270312703
"sourcePath": "tests/KeyLoad.FunctionalTests/OrleansExecution/Cases/Connection/ConnectionAwaitedSettlementTests.cs",
12704-
"sourceSha256": "00c41454449bfc15ceea623100355bfb5b38ae4802839ed55533dddca9d9627d",
12704+
"sourceSha256": "f21cb34ded3135d4a56764c5d502aa90a36469268f49637c5e2d9aa54a887c55",
1270512705
"lineNumber": 5,
12706-
"endLineNumber": 37,
12706+
"endLineNumber": 38,
1270712707
"classification": "functional",
1270812708
"exclusionReason": null,
1270912709
"requirements": [
@@ -12837,9 +12837,9 @@
1283712837
"methodName": "ActualServerPolicyAllowsOnlySelectedPartitionMethodsAndPreservesSignedReplay",
1283812838
"instanceName": "ActualServerPolicyAllowsOnlySelectedPartitionMethodsAndPreservesSignedReplay",
1283912839
"sourcePath": "tests/KeyLoad.FunctionalTests/OrleansExecution/Cases/Connection/ConnectionGraphPolicyTests.cs",
12840-
"sourceSha256": "bf46b5ea9770120585bf95d23c1a43cf6b2c6b8845ac3c1b5dac61b7f54676d0",
12840+
"sourceSha256": "57ea1062f0c92e0aa37a0220b564e1b64d620d2bdeda135ab6d5ed2a262e4cee",
1284112841
"lineNumber": 16,
12842-
"endLineNumber": 35,
12842+
"endLineNumber": 36,
1284312843
"classification": "functional",
1284412844
"exclusionReason": null,
1284512845
"requirements": [
@@ -12857,9 +12857,9 @@
1285712857
"methodName": "AcCrs050SignedCreateReadUpdateAndReplayReuseOneActualActivation",
1285812858
"instanceName": "AcCrs050SignedCreateReadUpdateAndReplayReuseOneActualActivation",
1285912859
"sourcePath": "tests/KeyLoad.FunctionalTests/OrleansExecution/Cases/Connection/ConnectionOperationTests.cs",
12860-
"sourceSha256": "0b615cdf80aefd3453ab95236f24d513b8b503221a1d28172a5725a5269df2d8",
12860+
"sourceSha256": "ae3eb4aba2bf215b60a6c6fbf04fe07b777e0b5523910fb647999df2a844dbea",
1286112861
"lineNumber": 5,
12862-
"endLineNumber": 44,
12862+
"endLineNumber": 45,
1286312863
"classification": "functional",
1286412864
"exclusionReason": null,
1286512865
"requirements": [
@@ -12877,9 +12877,9 @@
1287712877
"methodName": "AcCrs051HeldCommandAllowsAnotherPrincipalAndCancellationIsIsolated",
1287812878
"instanceName": "AcCrs051HeldCommandAllowsAnotherPrincipalAndCancellationIsIsolated",
1287912879
"sourcePath": "tests/KeyLoad.FunctionalTests/OrleansExecution/Cases/Connection/ConnectionOperationTests.cs",
12880-
"sourceSha256": "0b615cdf80aefd3453ab95236f24d513b8b503221a1d28172a5725a5269df2d8",
12881-
"lineNumber": 46,
12882-
"endLineNumber": 80,
12880+
"sourceSha256": "ae3eb4aba2bf215b60a6c6fbf04fe07b777e0b5523910fb647999df2a844dbea",
12881+
"lineNumber": 47,
12882+
"endLineNumber": 82,
1288312883
"classification": "functional",
1288412884
"exclusionReason": null,
1288512885
"requirements": [
@@ -12897,7 +12897,7 @@
1289712897
"methodName": "AcCrs055ExecutionDeadlineJoinsSelectedOperationAndFollowingWriteSucceeds",
1289812898
"instanceName": "AcCrs055ExecutionDeadlineJoinsSelectedOperationAndFollowingWriteSucceeds",
1289912899
"sourcePath": "tests/KeyLoad.FunctionalTests/OrleansExecution/Cases/Connection/ConnectionSettlementTests.cs",
12900-
"sourceSha256": "e76ba4b69634c0d4deef14cbeed14af3b02acc5575bf5b5f613fc30ee5ff5610",
12900+
"sourceSha256": "2f48eaca8e8771ce89a09c4a76d3204dc21938baa65a404fb21718acae936946",
1290112901
"lineNumber": 8,
1290212902
"endLineNumber": 35,
1290312903
"classification": "functional",
@@ -12917,9 +12917,9 @@
1291712917
"methodName": "AcCrs056NeverPulledStreamDoesNotActivateAndEarlyDisposalJoinsWithoutEffects",
1291812918
"instanceName": "AcCrs056NeverPulledStreamDoesNotActivateAndEarlyDisposalJoinsWithoutEffects",
1291912919
"sourcePath": "tests/KeyLoad.FunctionalTests/OrleansExecution/Cases/Connection/ConnectionSettlementTests.cs",
12920-
"sourceSha256": "e76ba4b69634c0d4deef14cbeed14af3b02acc5575bf5b5f613fc30ee5ff5610",
12920+
"sourceSha256": "2f48eaca8e8771ce89a09c4a76d3204dc21938baa65a404fb21718acae936946",
1292112921
"lineNumber": 37,
12922-
"endLineNumber": 72,
12922+
"endLineNumber": 73,
1292312923
"classification": "functional",
1292412924
"exclusionReason": null,
1292512925
"requirements": [
@@ -12937,9 +12937,9 @@
1293712937
"methodName": "ReturnedSubmitObserverFailureIsUnknownAndOriginalReplayRemainsExact",
1293812938
"instanceName": "ReturnedSubmitObserverFailureIsUnknownAndOriginalReplayRemainsExact(False)",
1293912939
"sourcePath": "tests/KeyLoad.FunctionalTests/OrleansExecution/Cases/Connection/ConnectionPostSubmitFailureTests.cs",
12940-
"sourceSha256": "c58a23820df29ca5d052521473f021f7e4bfeb531a0b3d462ddda57cd936f5d3",
12940+
"sourceSha256": "3d935ae783483a0f15b672b4b7a79a1e6face499ba968cbe8b75e185806cc419",
1294112941
"lineNumber": 11,
12942-
"endLineNumber": 53,
12942+
"endLineNumber": 54,
1294312943
"classification": "functional",
1294412944
"exclusionReason": null,
1294512945
"requirements": [
@@ -12955,9 +12955,9 @@
1295512955
"methodName": "ReturnedSubmitObserverFailureIsUnknownAndOriginalReplayRemainsExact",
1295612956
"instanceName": "ReturnedSubmitObserverFailureIsUnknownAndOriginalReplayRemainsExact(True)",
1295712957
"sourcePath": "tests/KeyLoad.FunctionalTests/OrleansExecution/Cases/Connection/ConnectionPostSubmitFailureTests.cs",
12958-
"sourceSha256": "c58a23820df29ca5d052521473f021f7e4bfeb531a0b3d462ddda57cd936f5d3",
12958+
"sourceSha256": "3d935ae783483a0f15b672b4b7a79a1e6face499ba968cbe8b75e185806cc419",
1295912959
"lineNumber": 11,
12960-
"endLineNumber": 53,
12960+
"endLineNumber": 54,
1296112961
"classification": "functional",
1296212962
"exclusionReason": null,
1296312963
"requirements": [
@@ -13464,7 +13464,7 @@
1346413464
"methodName": "OriginalCancelledStartupJoinsEvidenceThenFreshWriteReplayAndCloseAreHealthy",
1346513465
"instanceName": "OriginalCancelledStartupJoinsEvidenceThenFreshWriteReplayAndCloseAreHealthy",
1346613466
"sourcePath": "tests/KeyLoad.FunctionalTests/OrleansExecution/Cases/RuntimeCluster/ClusterStartupEvidenceTests.cs",
13467-
"sourceSha256": "d77b52c4909c65b35fc233a207d63b04e3504c74d0239541b506b574244924a4",
13467+
"sourceSha256": "ef0bf41c4359dbe18255ac958d28163649e1db2571539ca2fe6cc01b643fdb89",
1346813468
"lineNumber": 13,
1346913469
"endLineNumber": 31,
1347013470
"classification": "functional",

‎tests/KeyLoad.FunctionalTests/ClientApi/Fixtures/Credentials/CredentialStatusFlow.cs‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,11 +77,12 @@ private async Task DisposeCoreAsync()
7777
private async Task RunOwnedAsync()
7878
{
7979
scenario = new ConnectionScenario();
80-
using var deadline = new CancellationTokenSource(scenario.Timing.CompletionTimeout, TimeProvider.System);
80+
using var deadline = new CancellationTokenSource(scenario.Timing.StartupTimeout, TimeProvider.System);
8181
using var linked = CancellationTokenSource.CreateLinkedTokenSource(deadline.Token,
8282
TestContext.Current!.Execution.CancellationToken);
8383
var token = linked.Token;
8484
await scenario.InitializeAsync(token);
85+
deadline.CancelAfter(scenario.Timing.CompletionTimeout);
8586
state = await CredentialStatusSeed.CreateAsync(scenario);
8687
var endpoint = new CredentialStatusEndpoint(state);
8788
transportUncertain = true;

‎tests/KeyLoad.FunctionalTests/Messaging/Scenarios/QueueOrdering/MultiLaneConnectionOwnerTrial.cs‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,10 @@ internal static class MultiLaneConnectionOwnerTrial
1313

1414
internal static Task RunAsync() => ConnectionScenario.RunAsync(async scenario =>
1515
{
16-
using var timeout = new CancellationTokenSource(scenario.Timing.CompletionTimeout, TimeProvider.System);
16+
using var timeout = new CancellationTokenSource(scenario.Timing.StartupTimeout, TimeProvider.System);
1717
var token = timeout.Token;
1818
await scenario.InitializeAsync(token);
19+
timeout.CancelAfter(scenario.Timing.CompletionTimeout);
1920
var lanes = MultiLaneReceiveFlow.Seed(scenario.Fixture, LaneCount);
2021
var request = new MultiLaneReceiveRequest(Guid.NewGuid(),
2122
[new(Guid.NewGuid(), lanes[0]), new(Guid.NewGuid(), lanes[1])]);

‎tests/KeyLoad.FunctionalTests/OrleansExecution/Cases/Connection/ConnectionAwaitedSettlementTests.cs‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,14 @@ public Task ReusedConnectionAwaitsCleanupAcrossSuccessCancellationDisposalAndFai
88
ConnectionAwaitedSettlementObservation? observer = null;
99
return ConnectionScenario.RunAsync(async scenario =>
1010
{
11-
using var deadline = new CancellationTokenSource(scenario.Timing.CompletionTimeout, TimeProvider.System);
11+
using var deadline = new CancellationTokenSource(scenario.Timing.StartupTimeout, TimeProvider.System);
1212
using var parent = CancellationTokenSource.CreateLinkedTokenSource(deadline.Token,
1313
TestContext.Current!.Execution.CancellationToken);
1414
var token = parent.Token;
1515
try
1616
{
1717
await scenario.InitializeAsync(token);
18+
deadline.CancelAfter(scenario.Timing.CompletionTimeout);
1819
var firstPrincipal = scenario.Principal();
1920
var nextPrincipal = scenario.Principal();
2021
await Assert.That(firstPrincipal.Id).IsNotEqualTo(nextPrincipal.Id);

‎tests/KeyLoad.FunctionalTests/OrleansExecution/Cases/Connection/ConnectionGraphPolicyTests.cs‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,10 @@ public Task ActualServerPolicyAllowsOnlySelectedPartitionMethodsAndPreservesSign
1818
{
1919
return ConnectionScenario.RunAsync(async scenario =>
2020
{
21-
using var timeout = new CancellationTokenSource(scenario.Timing.CompletionTimeout, TimeProvider.System);
21+
using var timeout = new CancellationTokenSource(scenario.Timing.StartupTimeout, TimeProvider.System);
2222
var token = timeout.Token;
2323
await scenario.InitializeAsync(token);
24+
timeout.CancelAfter(scenario.Timing.CompletionTimeout);
2425
await Assert.That(scenario.Fixture.Hosts.Nodes.Length)
2526
.IsEqualTo(ConnectionServerEvidence.RuntimeExpectedFiles);
2627
foreach (var node in scenario.Fixture.Hosts.Nodes)

‎tests/KeyLoad.FunctionalTests/OrleansExecution/Cases/Connection/ConnectionOperationTests.cs‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,10 @@ public Task AcCrs050SignedCreateReadUpdateAndReplayReuseOneActualActivation()
77
{
88
return ConnectionScenario.RunAsync(async scenario =>
99
{
10-
using var timeout = new CancellationTokenSource(scenario.Timing.CompletionTimeout, TimeProvider.System);
10+
using var timeout = new CancellationTokenSource(scenario.Timing.StartupTimeout, TimeProvider.System);
1111
var token = timeout.Token;
1212
await scenario.InitializeAsync(token);
13+
timeout.CancelAfter(scenario.Timing.CompletionTimeout);
1314
var principal = scenario.Principal();
1415
var createId = Guid.NewGuid();
1516
var command = scenario.Command(nameof(AcCrs050SignedCreateReadUpdateAndReplayReuseOneActualActivation));
@@ -48,9 +49,10 @@ public Task AcCrs051HeldCommandAllowsAnotherPrincipalAndCancellationIsIsolated()
4849
{
4950
return ConnectionScenario.RunAsync(async scenario =>
5051
{
51-
using var timeout = new CancellationTokenSource(scenario.Timing.CompletionTimeout, TimeProvider.System);
52+
using var timeout = new CancellationTokenSource(scenario.Timing.StartupTimeout, TimeProvider.System);
5253
var token = timeout.Token;
5354
await scenario.InitializeAsync(token);
55+
timeout.CancelAfter(scenario.Timing.CompletionTimeout);
5456
var first = scenario.Principal();
5557
var second = scenario.Principal();
5658
var firstId = Guid.NewGuid();

‎tests/KeyLoad.FunctionalTests/OrleansExecution/Cases/Connection/ConnectionPostSubmitFailureTests.cs‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,10 @@ public Task ReturnedSubmitObserverFailureIsUnknownAndOriginalReplayRemainsExact(
1616
ConnectionPostSubmitFailureObserver? observer = null;
1717
return ConnectionScenario.RunAsync(async scenario =>
1818
{
19-
using var timeout = new CancellationTokenSource(scenario.Timing.CompletionTimeout, TimeProvider.System);
19+
using var timeout = new CancellationTokenSource(scenario.Timing.StartupTimeout, TimeProvider.System);
2020
var token = timeout.Token;
2121
await scenario.InitializeAsync(token);
22+
timeout.CancelAfter(scenario.Timing.CompletionTimeout);
2223
var principal = scenario.Principal();
2324
var requestId = Guid.NewGuid();
2425
ArgumentNullException.ThrowIfNull(observer);

‎tests/KeyLoad.FunctionalTests/OrleansExecution/Cases/Connection/ConnectionSettlementTests.cs‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,10 @@ public Task AcCrs056NeverPulledStreamDoesNotActivateAndEarlyDisposalJoinsWithout
3939
{
4040
return ConnectionScenario.RunAsync(async scenario =>
4141
{
42-
using var timeout = new CancellationTokenSource(scenario.Timing.CompletionTimeout, TimeProvider.System);
42+
using var timeout = new CancellationTokenSource(scenario.Timing.StartupTimeout, TimeProvider.System);
4343
var token = timeout.Token;
4444
await scenario.InitializeAsync(token);
45+
timeout.CancelAfter(scenario.Timing.CompletionTimeout);
4546
var principal = scenario.Principal();
4647
var requestId = Guid.NewGuid();
4748
var command = scenario.Command("disposed-original");

‎tests/KeyLoad.FunctionalTests/OrleansExecution/Cases/RuntimeCluster/ClusterStartupEvidenceTests.cs‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,9 @@ private static async Task OperationFailureAsync()
3939
{
4040
await ConnectionScenario.RunAsync(async scenario =>
4141
{
42-
using var timeout = new CancellationTokenSource(scenario.Timing.CompletionTimeout, TimeProvider.System);
42+
using var timeout = new CancellationTokenSource(scenario.Timing.StartupTimeout, TimeProvider.System);
4343
await scenario.InitializeAsync(timeout.Token);
44+
timeout.CancelAfter(scenario.Timing.CompletionTimeout);
4445
clusterId = scenario.Fixture.Evidence.ClusterId;
4546
var principal = scenario.Principal();
4647
using var cancelled = new CancellationTokenSource();
@@ -79,9 +80,10 @@ private static async Task HealthyAsync()
7980
ConnectionServerRuntime? runtime = null;
8081
await ConnectionScenario.RunAsync(async scenario =>
8182
{
82-
using var timeout = new CancellationTokenSource(scenario.Timing.CompletionTimeout, TimeProvider.System);
83+
using var timeout = new CancellationTokenSource(scenario.Timing.StartupTimeout, TimeProvider.System);
8384
var token = timeout.Token;
8485
await scenario.InitializeAsync(token);
86+
timeout.CancelAfter(scenario.Timing.CompletionTimeout);
8587
clusterId = scenario.Fixture.Evidence.ClusterId;
8688
runtime = scenario.Fixture;
8789
var principal = scenario.Principal();

0 commit comments

Comments
 (0)