The GitHub Actions job "Scalafmt" on pekko.git/feat/sink-watch-termination has failed. Run started by GitHub user He-Pin (triggered by He-Pin).
Head commit for run: 5f5f9dd52ea7d55dc2176c75a1615ff273ae9cac / θιΈ£ <[email protected]> feat: support arbitrary composite sinks in Sink.watchTermination Motivation: Sink.watchTermination previously only worked with single-stage sinks, rejecting composite sinks built with GraphDSL, Sink.combine, etc. Akka issue #22546 requested a wrapper that materializes a Future[Done] completing only after the sink's postStop has run, for any sink shape. Modification: Rewrite WatchedSink to wrap every GraphStageModule in the sink's traversal with a TerminationReporterStage. A shared TerminationTracker counts stage completions and resolves the promise when the last stage's postStop runs. A per-materialization TrackerHolder ensures independent futures across re-materializations of the same blueprint. Connection slot scanning detects failures (including Cancelled with non-trivial cause) for stages whose handler exceptions bypass the try-catch wrapper. Result: Sink.watchTermination now works with any sink composed of GraphStages: Sink.foreach, Sink.combine, GraphDSL graphs, async islands, LazySink, Sink.queue, and multi-materialization of the same blueprint. Tests: - sbt "stream-tests / Test / testOnly org.apache.pekko.stream.scaladsl.SinkWatchTerminationSpec" β 24 passed - sbt "stream-tests / Test / testOnly org.apache.pekko.stream.javadsl.SinkTest" β 21 passed References: Refs akka/akka-core#22546 Report URL: https://github.com/apache/pekko/actions/runs/31892691767 With regards, GitHub Actions via GitBox --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
