He-Pin opened a new pull request, #3682: URL: https://github.com/apache/pekko/pull/3682
### Motivation A command handler returning `ReplyEffect` cannot append `thenStop()` after deciding whether to reply. This prevents composing a stop with an already constructed reply effect while retaining enforced replies. ### Modification - Add `ReplyEffect.thenStop()` to both the Scala and Java APIs for event sourcing and durable state, with `@since 2.0.0`. - Use default methods that delegate to the existing internal stop implementation, preserving binary compatibility without new MiMa exclusions. - Add 12 regression cases covering persistence followed by reply and stop, direct reply and stop, and explicit no-reply and stop; document both DSLs. ### Result Reply effects can stop the actor without losing the `ReplyEffect` return type or changing existing runtime side-effect execution. ### Tests - Regression tests fail to compile before the API addition, as expected. - 20 focused Scala and Java tests passed on Scala 2.13.18 / JDK 17. - `sbt +mimaReportBinaryIssues` and `sbt +headerCheckAll` passed on Scala 2.13.18 and 3.3.8. - `sbt checkCodeStyle`, `sbt docs/paradox`, native scalafmt check, Java formatting, and `git diff --check` passed. - `sbt validatePullRequest` ran the impacted modules but failed on the x86-only LevelDB JNI library on an ARM Mac, and on the existing `jdocs.stream.IntegrationDocTest` configuration using `pekko.dispatch.UnboundedMailbox` instead of its fully qualified class name. The latter configuration is also present in the base branch. - Additional local platform/Scala 3 runtime validation and the `sortImports` alias run were interrupted; remaining validation is delegated to remote CI. The initial scoped `persistence-typed-tests / sortImports` invocation was invalid because `sortImports` is a command alias. - Auditable Qoder stdout review is in progress; this PR remains a draft pending review and CI results. ### References None - complete the ReplyEffect stop API -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
