docs(reviews): consumer-findings ledger for alkhttp-as-consumer findings (CF-001 write-failure retryability)
This commit is contained in:
1 parent
570fea76f4
commit
4c99b877e3
1 file changed
+40
@@ -0,0 +1,40 @@
|
|||||||
|
# Consumer findings ledger — alkhttp consuming alkcall
|
||||||
|
|
||||||
|
Findings from writing the first real consumer (alkhttp) against alkcall.
|
||||||
|
alkcall is deliberately minimal; expect missing features and edge-case
|
||||||
|
bugs to surface here first. Extract items into alkcall tasks/reviews as
|
||||||
|
the project sees fit.
|
||||||
|
|
||||||
|
Format: date | found-in (alkhttp context) | severity | status.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Open
|
||||||
|
|
||||||
|
### CF-001 — `call_single_stream` write-failure maps to non-retryable `INTERNAL` (2026-08-29)
|
||||||
|
|
||||||
|
- **Found in:** alkhttp `from_wss` drop-monitor race tests (WS-02/CON-02,
|
||||||
|
review-001-ws-eof-signal). When the transport mux dies mid-call, the
|
||||||
|
write path fails fast and alkcall's `call_single_stream` write-failure
|
||||||
|
mapping produces a non-retryable
|
||||||
|
`INTERNAL: failed to write request frame` — even though the call never
|
||||||
|
reached the producer and a reconnect/retry would be safe.
|
||||||
|
- **Impact:** consumers that drop connections under load (WS EOF, network
|
||||||
|
flaps) get non-retryable errors for in-flight calls that are provably
|
||||||
|
not processed. Callers must either tolerate-or-discriminate two
|
||||||
|
envelope shapes for the same transport-death race, or miss retry
|
||||||
|
opportunities.
|
||||||
|
- **Suggested direction:** classify write failures that occur before any
|
||||||
|
response frame could arrive as retryable (`CONNECTION_CLOSED` or
|
||||||
|
equivalent) — or expose the distinction so consumers can decide.
|
||||||
|
- **alkhttp side:** the race test tolerates both outcomes for now
|
||||||
|
(asserts retryable only when the call is provably in-flight). If/when
|
||||||
|
alkcall fixes the mapping, alkhttp's ws-eof-signal test should tighten
|
||||||
|
back to retryable-only.
|
||||||
|
- **Status:** open — no alkcall change made.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Resolved
|
||||||
|
|
||||||
|
(empty)
|
||||||
Reference in new issue
Block a user