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]

Reply via email to