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]

Reply via email to