Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support raising consumer memory limit; return error when something's wrong #30

Merged
merged 9 commits into from
Aug 31, 2023

Conversation

jmacd
Copy link
Contributor

@jmacd jmacd commented Aug 29, 2023

Adds a memory-limit error, returned when the Arrow library does not have enough memory.

Fixes #28.

Adds a RESOURCE_EXHAUSTED status code. Restructures the way gRPC Status errors are handled, i.e., produced in the arrow receiver and turned into consumererror.Permanent errors on the exporter side.

While doing this, I noticed that each of our status codes has an analog in the gRPC status code numbering space, and I have switched this repo to use identical naming and numbering.

Renames SERVER_SHUTDOWN to CANCELED .

This is a breaking change, requires exporters and receivers to restart. This will allow us to be transparent with future OTel developments that rely on gRPC codes. For now, we have OK, Unavailable, InvalidArgument, ResourceExhausted, and Canceled (formerly known as SERVER_SHUTDOWN).

@jmacd jmacd marked this pull request as ready for review August 31, 2023 20:45
Copy link
Contributor

@moh-osman3 moh-osman3 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@jmacd jmacd merged commit ace8ef8 into open-telemetry:main Aug 31, 2023
@jmacd jmacd deleted the jmacd/err_mem_limit_option branch August 31, 2023 21:17
@jmacd jmacd mentioned this pull request Aug 31, 2023
jmacd added a commit that referenced this pull request Aug 31, 2023
Release v0.3.0 includes:
- #24
- #29 
- #30 
- #36 

This release includes a BREAKING CHANGE 🛑 🛑 🛑 🛑 🛑.
We do not anticipate another of these, it merely renames/enumbers status
codes to match the gRPC status code numbering scheme. However, since
status code 0 stays the same, it will result in unusual looking errors
but should be safe to deploy the receivers first. Their CANCELED (i.e.,
SERVER_SHUTDOWN) will read as UNAVAILABLE, etc.

See #27.
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.

Propagate the MemLimit parameter in the public API
2 participants