-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Allow partial retries in queued retry processor #1297
Allow partial retries in queued retry processor #1297
Conversation
Codecov Report
@@ Coverage Diff @@
## master #1297 +/- ##
==========================================
+ Coverage 89.42% 89.49% +0.06%
==========================================
Files 212 213 +1
Lines 15170 15179 +9
==========================================
+ Hits 13566 13584 +18
+ Misses 1170 1163 -7
+ Partials 434 432 -2
Continue to review full report at Codecov.
|
Does this mean exporters need to know about the existence of queued processor and may be use it as a dependency (to import the error type)? Can we may be move the error type to the components or some other core package and generalize it so it's not highly specific to queued retry? We could rename it to something generic and also rename the |
correct, currently exporters would have to import it if they want to use the error type.
A different error type would work, or a single type with multiple factory methods and getters for data types. |
I have moved the error to the |
Please rebase I made some refactoring in the qretry |
Signed-off-by: Pavol Loffay <[email protected]>
d9749d9
to
2184056
Compare
Signed-off-by: Pavol Loffay <[email protected]>
Rebased |
Signed-off-by: Pavol Loffay <[email protected]>
@@ -174,6 +174,9 @@ func (sp *queuedSpanProcessor) processItemFromQueue(item *queueItem) { | |||
// throw away the batch | |||
sp.onItemDropped(item, err) | |||
return | |||
} else if partialErr, isPartial := err.(consumererror.PartialError); isPartial { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't need else if
because the previous returns. just an if
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will fix this in my metrics PR.
* Allow partial retries in queued retry processor Signed-off-by: Pavol Loffay <[email protected]> * Rename consumererror file Signed-off-by: Pavol Loffay <[email protected]> * Fix data race Signed-off-by: Pavol Loffay <[email protected]>
…ry#1297) Bumps [github.com/signalfx/golib/v3](https://github.com/signalfx/golib) from 3.3.43 to 3.3.44. - [Release notes](https://github.com/signalfx/golib/releases) - [Commits](signalfx/golib@v3.3.43...v3.3.44) --- updated-dependencies: - dependency-name: github.com/signalfx/golib/v3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Pavol Loffay [email protected]
Description: <Describe what has changed.
This patch allows partial retries in
queued_retry
processor. The following consumer after the retry processor initializes partial retry by returning an error type that encapsulates data that should be retried. When a different error type is returned the processor retries the original data set.This PR does not contain any breaking changes nor change of the current behavior of the
queued_retry
processor.Link to tracking Issue:
Resolves #990
Testing: < Describe what testing was performed and which tests were added.>
Documentation: < Describe the documentation added.>
Not needed only godoc.