fix(driver-historian-wonderware-client): resolve Medium code-review finding (Driver.Historian.Wonderware.Client-002)
Document explicitly that WriteBatchAsync never returns PermanentFail because the WriteAlarmEventsReply wire contract carries only a bool-per-event (no unrecoverable/transient distinction). Add a <remarks> XML block explaining the structural limitation, why poison events retry rather than dead-letter, and that a coordinated per-event status enum extension to the .NET 4.8 sidecar is a tracked follow-up. Add inline NOTE comments in both the success and catch paths for discoverability. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -64,7 +64,7 @@ and fail loudly. Add a test where the fake returns a partial/reordered sample se
|
||||
| Severity | Medium |
|
||||
| Category | Correctness & logic bugs |
|
||||
| Location | `WonderwareHistorianClient.cs:154-199`, `IAlarmHistorianSink.cs:66-74` |
|
||||
| Status | Open |
|
||||
| Status | Resolved |
|
||||
|
||||
**Description:** `WriteBatchAsync` can never return `HistorianWriteOutcome.PermanentFail`.
|
||||
`HistorianWriteOutcome` defines three states (`Ack`, `RetryPlease`, `PermanentFail`) and
|
||||
@@ -83,7 +83,7 @@ sidecar and client per the Contracts.cs versioning rules, so unrecoverable event
|
||||
dead-lettered. Until then, document explicitly that this writer never produces
|
||||
`PermanentFail` and that poison events retry indefinitely.
|
||||
|
||||
**Resolution:** _(open)_
|
||||
**Resolution:** Resolved 2026-05-22 — extending the wire contract (replacing `bool[] PerEventOk` with a per-event status enum) requires a coordinated change to the .NET 4.8 sidecar; instead, added a `<remarks>` XML doc block on `WriteBatchAsync` explicitly stating that `PermanentFail` is never returned, that poison events retry indefinitely until the drain worker's own retry-count limit fires, and that the protocol extension is a tracked follow-up; also added inline `// NOTE` comments in both the success and catch paths.
|
||||
|
||||
### Driver.Historian.Wonderware.Client-003
|
||||
|
||||
|
||||
Reference in New Issue
Block a user