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

[otelarrowreceiver] Ensure consume operations are not canceled at stream EOF #33570

Merged
merged 7 commits into from
Jun 18, 2024

Conversation

jmacd
Copy link
Contributor

@jmacd jmacd commented Jun 14, 2024

Description: Fixes a bug in the OTel Arrow receiver. When a stream reaches its end-of-life, the exporter closes the send channel and the receiver's Recv() loop receives an EOF error. This was inadvertently canceling a context too soon, such that requests in-flight during EOF would be canceled before finishing.

Link to tracking Issue: #26491

Testing: Several tests cover this scenario, and they had to change for this fix. There is now an extra assertion in the healthy test channel to ensure that consumers never receive data on a canceled context (in testing).

Documentation: n/a

@jmacd jmacd marked this pull request as ready for review June 14, 2024 15:56
@jmacd jmacd requested a review from a team as a code owner June 14, 2024 15:56
@jmacd jmacd requested a review from MovieStoreGuy June 14, 2024 15:56
Copy link

@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 added the ready to merge Code review completed; ready to merge by maintainers label Jun 17, 2024
@jmacd jmacd added ready to merge Code review completed; ready to merge by maintainers and removed ready to merge Code review completed; ready to merge by maintainers labels Jun 17, 2024
Copy link

@lquerel lquerel left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Contributor

@codeboten codeboten left a comment

Choose a reason for hiding this comment

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

Thanks @jmacd, approving and will merge once the v0.103.0 release is completed

@codeboten codeboten merged commit 29daa10 into open-telemetry:main Jun 18, 2024
167 checks passed
@github-actions github-actions bot added this to the next release milestone Jun 18, 2024
cparkins pushed a commit to AmadeusITGroup/opentelemetry-collector-contrib that referenced this pull request Jul 11, 2024
…eam EOF (open-telemetry#33570)

**Description:** Fixes a bug in the OTel Arrow receiver. When a stream
reaches its end-of-life, the exporter closes the send channel and the
receiver's `Recv()` loop receives an EOF error. This was inadvertently
canceling a context too soon, such that requests in-flight during EOF
would be canceled before finishing.

**Link to tracking Issue:** open-telemetry#26491 

**Testing:** Several tests cover this scenario, and they had to change
for this fix. There is now an extra assertion in the healthy test
channel to ensure that consumers never receive data on a canceled
context (in testing).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready to merge Code review completed; ready to merge by maintainers receiver/otelarrow
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants