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

[chore] [exporterhelper] Remove retry sender -> queue sender callback #8985

Merged
merged 1 commit into from
Nov 27, 2023

Conversation

dmitryax
Copy link
Member

Use returned error instead to simplify the senders feedback loop. This change preserves the behavior. Re-enqueueing of the temporary failures depends on the enabled retry sender. This will be changed in the next step when re-queueing becomes a configurable option

Copy link

codecov bot commented Nov 22, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (b7f49f1) 91.55% compared to head (80531cc) 91.55%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #8985      +/-   ##
==========================================
- Coverage   91.55%   91.55%   -0.01%     
==========================================
  Files         315      315              
  Lines       17117    17113       -4     
==========================================
- Hits        15672    15668       -4     
  Misses       1150     1150              
  Partials      295      295              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Use returned error instead to simplify the senders feedback loop. This change preserves the behavior. Re-enqueueing of the temporary failures depend on enabled retry sender. This will be changed in the next step when re-queueing becomes a configurable option
Comment on lines +179 to +187
// If retry sender is disabled then disable requeuing in the queue sender.
// TODO: Make re-enqueuing configurable on queue sender instead of relying on retry sender.
if qs, ok := be.queueSender.(*queueSender); ok {
// if it's not retrySender, then it is disabled.
if _, ok = be.retrySender.(*retrySender); !ok {
qs.requeuingEnabled = false
}
}

Copy link
Member

Choose a reason for hiding this comment

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

I am not sure that this was intentional or a bug of the previous implementation. Happy to keep it as it is now, but my bet is that it was just a bug in the previous implementation.

Copy link
Member Author

Choose a reason for hiding this comment

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

Even if it's a bug, I believe some users may rely on this behavior. Fixing it right away by removing the dependency would be a breaking change for those who don't want re-enqueueing in the persistent queue. I submitted an issue to introduce an explicit option to control it #8987. Will handle it next

@dmitryax dmitryax merged commit 8cec790 into open-telemetry:main Nov 27, 2023
32 checks passed
@github-actions github-actions bot added this to the next release milestone Nov 27, 2023
dmitryax added a commit to dmitryax/opentelemetry-collector that referenced this pull request Nov 27, 2023
After open-telemetry#8985, the whole request is requeued even with the partial request error. This change fixes it and restores the previous behavior. No changelog is needed since the bug is not released yet.
dmitryax added a commit that referenced this pull request Nov 27, 2023
…8992)

After
#8985, the
whole request is requeued even with the partial request error. This
change fixes it and restores the previous behavior. No changelog is
needed since the bug is not released yet.
@dmitryax dmitryax deleted the just-remove-retry-callback branch November 27, 2023 05:38
pantuza pushed a commit to pantuza/opentelemetry-collector that referenced this pull request Dec 8, 2023
…open-telemetry#8985)

Use returned error instead to simplify the senders feedback loop. This
change preserves the behavior. Re-enqueueing of the temporary failures
depends on the enabled retry sender. This will be changed in the next
step when re-queueing becomes a configurable option
pantuza pushed a commit to pantuza/opentelemetry-collector that referenced this pull request Dec 8, 2023
…pen-telemetry#8992)

After
open-telemetry#8985, the
whole request is requeued even with the partial request error. This
change fixes it and restores the previous behavior. No changelog is
needed since the bug is not released yet.
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.

None yet

2 participants