-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
Fix mapConcat context propagation #30289
Conversation
} catch handleException | ||
|
||
override def onUpstreamFinish(): Unit = onFinish() | ||
|
||
override def onPull(): Unit = | ||
try pushPull() | ||
try pushPull(pullFirstSubElement = true) |
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.
Shouldn't it be pullFirstSubElement = false
here?
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.
Good catch! Thanks!
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.
Implemented a test on Telemetry side to catch this issue.
…verhead when no Telemetry is in use
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.
Even if I know what the code should do, I find it hard to compare the code with the expectation of what it should do.
Could the conditions be removed (for a bit of performance hit)?
Then we could always suspendContext
after an element was grabbed, and always resume/suspend after an element was pushed.
It would require an additional suspend / resume pair for each first element. That's why I introduced this condition. |
Test PASSed. |
1 similar comment
Test PASSed. |
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.
Seems relatively low-risk from the core Akka perspective, but indeed not super easy to follow. If that is well-tested on the Telemetry side then that's perhaps fine?
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.
LGTM
Test PASSed. |
Fix mapConcat context propagation, so consecutive child elements are connected to the original span when using Telemetry tracing