The GitHub Actions job "Pull Requests" on 
pekko.git/feat/stream-aggregateboundary-supervision has succeeded.
Run started by GitHub user He-Pin (triggered by He-Pin).

Head commit for run:
bd87a8d36adfbae04aa1291d0c8fac01ce406f30 / 虎鸣 <[email protected]>
fix: add supervision strategy support for aggregateWithBoundary callbacks

Motivation:
aggregateWithBoundary invokes multiple user callbacks (`allocate`, `aggregate`,
`harvest`, and timer predicate), but exceptions were not supervised and failed
the stream unconditionally.

Modification:
Add decider-based exception handling in AggregateWithBoundary for all callback
sites:
- allocate/aggregate in onPush
- timer predicate and harvest in onTimer
- harvest in onUpstreamFinish

Stop fails the stage. Resume/Restart drop failing element/aggregate and 
continue.
For aggregate callback failures, Resume now resets aggregate state to avoid
retaining partially-mutated mutable state.

Update Scala/Java API docs and operator docs to document supervision behavior.

Add directional regression tests in AggregateWithBoundarySpec covering:
- aggregate callback failures under Resume/Restart
- allocate callback failure under Resume
- harvest callback failure under Resume
- timer predicate failure under Resume (explicit scheduler)

Result:
aggregateWithBoundary now honors ActorAttributes.SupervisionStrategy across all
user callback failure points with deterministic regression coverage.

Tests:
- sbt "stream-tests/Test/testOnly 
org.apache.pekko.stream.scaladsl.AggregateWithBoundarySpec 
org.apache.pekko.stream.scaladsl.AggregateWithTimeBoundaryAndSimulatedTimeSpec" 
-- 11/11 passed
- sbt "stream/mimaReportBinaryIssues" -- clean
- sbt "docs/paradox" -- passed

References:
Refs #3110

Report URL: https://github.com/apache/pekko/actions/runs/28169923309

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to