The GitHub Actions job "Binary Compatibility" on pekko.git/feature/bidi-stream-closing-semantics has succeeded. Run started by GitHub user He-Pin (triggered by He-Pin).
Head commit for run: 6a5992bf1ca385178b35bb238bb1c625ec2baf90 / He-Pin <[email protected]> feat: Add BidirectionalGracefulShutdown CancellationStrategy Motivation: Addresses issue #17997 - Clarify stream closing semantics for bidirectional components. When a bidirectional component is about to finish, completing the downstream side (regularly or with an error) can race against cancelling the upstream side. If the cancellation arrives first, the error signal is lost because the connection is already cancelled. Modification: - Added new strategy to - This strategy first completes all output ports, then waits for a grace period to allow the error to propagate through the counterpart, and finally cancels all input ports - Added Java API method - Added comprehensive tests to verify the new behavior - The strategy prevents race conditions in BidiFlow stacks where error propagation is important Result: - Bidirectional components can now gracefully shut down by completing outputs first - Error signals have a chance to propagate through the counterpart before upstream cancellation - Addresses the race condition described in akka/akka-core#17997 Tests: - stream-tests / Test / testOnly org.apache.pekko.stream.scaladsl.CancellationStrategySpec: All 15 tests passed Refs: akka/akka-core#17997 Report URL: https://github.com/apache/pekko/actions/runs/26720662315 With regards, GitHub Actions via GitBox --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
