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
FanoutPublisherSink leaking actors on upstream failure #25796
FanoutPublisherSink leaking actors on upstream failure #25796
Conversation
Test FAILed. |
akka-stream-tests/src/test/scala/akka/stream/impl/FanoutProcessorSpec.scala
Outdated
Show resolved
Hide resolved
akka-stream/src/main/scala/akka/stream/impl/FanoutProcessor.scala
Outdated
Show resolved
Hide resolved
akka-stream-tests/src/test/scala/akka/stream/impl/FanoutProcessorSpec.scala
Show resolved
Hide resolved
e80b85e
to
df8bbaf
Compare
Test PASSed. |
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.
LGTM, let's move on
akka-stream-tests/src/test/scala/akka/stream/impl/FanoutProcessorSpec.scala
Show resolved
Hide resolved
primaryInputs.cancel() | ||
primaryOutputs.error(e) | ||
// Stopping will happen after flush | ||
} |
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.
always scary to change/remove something that someone else has consciously added and even commented, but obviously there is a problem and no other test fails
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.
Yeah, I wonder if it was true at some point but other things changed around it perhaps. Or some assumption was wrong.
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.
With all due respect, I’m a bit surprised at the questions being raised here. If you take the comment at face value, you can easily disprove the claim. If it did happen to be that the behavior was changed due to an unintended consequence, the idea that the corner case would not have been documented seems flawed, unless you assume the second author was less diligent than the first.
For me, this issue caused the process to run out of memory in a non obvious way, with no workaround without a redesign. While I can appreciate the desire to be attentive to risks that can lead to unexpected regressions, but arbitrary risk aversion has costs. I think you guys created a great product with easy to grasp abstracions that clearly show a respect for the user experience, and I appreciate the thought and consideration you and your team put into it.
My issue is though that by investing a little more time in learning rxjava2 or monix, there are far less surprises.
Edit: fix bad edit
Edit #2: I appreciate your teams attentiveness to the issue. It’s not for a lack of appreciation or eagerness that I have limited my participation. Suffice it to say, the company I work for does not make it easy for me to contribute.
6d3732c
to
a86abb3
Compare
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.
LGTM
Fixes #25634