Skip to content

fix(transport): route code-less error frames as warnings - #767

Open
tradatious wants to merge 1 commit into
wboayue:mainfrom
tradatious:codeless-notice-warning
Open

fix(transport): route code-less error frames as warnings#767
tradatious wants to merge 1 commit into
wboayue:mainfrom
tradatious:codeless-notice-warning

Conversation

@tradatious

Copy link
Copy Markdown
Contributor

A protobuf error frame whose error_code field is absent decodes to code 0, which is outside WARNING_CODE_RANGE, so classify_error treated it as a request-less hard error and failed every in-flight one-shot shared request. IB Gateway sends such code-less frames for informational notices, e.g. "Warning: Approaching max rate of 50 messages per second (42)".

Code-0 frames now route as warnings: request-less ones reach the notice stream only, and ones with a request id are delivered as a notice instead of terminating the subscription. An error frame that fails proto decode falls back to the same code-0 path; determine_routing now logs a warning naming the byte length for that case.

Fix for #766

@tradatious
tradatious force-pushed the codeless-notice-warning branch from 3468d48 to c19eaa1 Compare August 29, 2026 00:22
A protobuf error frame whose error_code field is absent decodes to code 0,
which is outside WARNING_CODE_RANGE, so classify_error treated it as a
request-less hard error and failed every in-flight one-shot shared request.
IB Gateway sends such code-less frames for informational notices, e.g.
"Warning: Approaching max rate of 50 messages per second (42)".

Code-0 frames now route as warnings: request-less ones reach the notice
stream only, and ones with a request id are delivered as a notice instead
of terminating the subscription. An error frame that fails proto decode
falls back to the same code-0 path; determine_routing now logs a warning
naming the byte length for that case.
@tradatious
tradatious force-pushed the codeless-notice-warning branch from c19eaa1 to 547c41d Compare August 29, 2026 00:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant