fix(auditlog): explicit permanent rejections on the ingest ack (IngestAck.rejected_event_ids, field 2) with a dedicated counter; reconciler ignores transient faults for abandonment; persist the served high-water mark; prune only on a non-empty enumeration (review 2026-10-21 06/PERF-1, 06/IMPL-1 adversarial follow-up)
This commit is contained in:
+4
-2
@@ -116,9 +116,11 @@ public class ReconciliationStatePruningTests : TestKit
|
||||
|
||||
Assert.True(probe.ExpectMsg<SiteAuditTelemetryStalledChanged>(TimeSpan.FromSeconds(5)).Stalled);
|
||||
|
||||
sites.Sites = Array.Empty<SiteEntry>();
|
||||
// Not an empty list: an empty enumeration deliberately prunes nothing.
|
||||
sites.Sites = new[] { new SiteEntry("survivor", "http://s:8083") };
|
||||
|
||||
var cleared = probe.ExpectMsg<SiteAuditTelemetryStalledChanged>(TimeSpan.FromSeconds(5));
|
||||
var cleared = probe.FishForMessage<SiteAuditTelemetryStalledChanged>(
|
||||
m => m.SiteId == "doomed", TimeSpan.FromSeconds(5));
|
||||
Assert.Equal("doomed", cleared.SiteId);
|
||||
Assert.False(cleared.Stalled);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user