R2-01 S7 fault-path hardening (arch-review round 2) #429
Reference in New Issue
Block a user
Delete Branch "r2/01-s7-fault-hardening"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Round-2 arch-review plan R2-01 (findings 05/STAB-14 High regression, STAB-15, STAB-8 seam note).
TimeoutExceptionat theEnsureConnectedAsync/InitializeAsyncsource instead of an escapingOperationCanceledExceptionthat the poll loop's barecatch(OCE){return;}swallowed — which silently killed all S7 subscriptions after an unreachable-host outage. Pluswhen(token.IsCancellationRequested)filters on both ensure-wrappers and all three poll-loop OCE catches. Subscriptions now survive + recover (T2 regression RED→GREEN).IsS7ConnectionFatalbroadened to the ISO-on-TCP framing surface (TPKT/TPDU/WrongNumberOfBytes/PlcException-WrongNumberReceivedBytes, NOT InvalidDataException); mid-PDU cancel marks handle dead; probe classifies + marks dead under the gate.12/13 tasks; T11 deferred-live (env-gated live outage test, skips clean offline — serial live pass). All prod changes in S7Driver.cs. Build clean; Driver.S7.Tests 246/246. (One pre-existing unrelated CLI docs-scan test fails at base — out of scope, see plan deviations.) Plan:
archreview/plans/R2-01-s7-fault-hardening-plan.md.Landed on
mastervia merge commitfea6477f(local --no-ff merge, STATUS.md conflict resolved additively, clean build barrier). Closing as merged.Pull request closed