docs+test(site-runtime): Lever 1 final-review polish — document that the Good reset does not release an in-flight request and that the guard is inert once interval ≥ ceiling; FlappingGood asserts the retry landed during the burst instead of timing Thread.Sleep; NativeAlarmActor (same unguarded amplifier) + cancel-race residue recorded as follow-ups
Claude-Session: https://claude.ai/code/session_019ZxXT5sxZs5XrtdwYzJDPV
This commit is contained in:
@@ -1466,7 +1466,6 @@ public class InstanceActorTests : TestKit, IDisposable
|
||||
instance.Tell(new SubscribeTagsResponse(req.CorrelationId, req.InstanceUniqueName,
|
||||
false, "busy", DateTimeOffset.UtcNow), dclProbe.Ref);
|
||||
|
||||
var sw = System.Diagnostics.Stopwatch.StartNew();
|
||||
// Twelve Goods over ~1.2 s — a naive re-arm-from-now on each would push the tick to ≥1.5 s.
|
||||
for (var i = 0; i < 12; i++)
|
||||
{
|
||||
@@ -1474,9 +1473,9 @@ public class InstanceActorTests : TestKit, IDisposable
|
||||
Thread.Sleep(100);
|
||||
}
|
||||
|
||||
// The probe already holds the retry (it landed ~300 ms after the first Good) by the time the burst ends.
|
||||
dclProbe.ExpectMsg<SubscribeTagsRequest>(TimeSpan.FromSeconds(2));
|
||||
Assert.True(sw.Elapsed < TimeSpan.FromMilliseconds(1400), $"retry took {sw.Elapsed} — flapping Good deferred it");
|
||||
// The retry must have landed DURING the burst (~300 ms after the first Good), so the probe
|
||||
// already holds it — assert that directly rather than timing the burst's Thread.Sleeps.
|
||||
dclProbe.ExpectMsg<SubscribeTagsRequest>(TimeSpan.FromMilliseconds(50));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
||||
Reference in New Issue
Block a user