He-Pin opened a new pull request, #3294: URL: https://github.com/apache/pekko/pull/3294
### Motivation Timer-triggered failures in non-stash classic actors exposed the internal TimerMsg wrapper to preRestart instead of the user message delivered to receive. ### Modification Rewrite ActorCell.currentMessage to the unwrapped timer message for all Timers actors before invoking receive, keeping stash and supervision paths consistent. Add a regression test covering a non-stash Timers actor that throws from a timer-triggered message and verifies preRestart receives the unwrapped user message. ### Result preRestart observes the same unwrapped message that receive processed, while existing timer and stash behavior remains covered. ### Tests - sbt "actor-tests / Test / testOnly org.apache.pekko.actor.TimersAndSupervisionSpec org.apache.pekko.actor.TimersAndStashSpec org.apache.pekko.actor.TimerSpec" - passed - sbt "actor-tests / Test / testOnly org.apache.pekko.actor.FsmTimerSpec" - passed - sbt "actor-tests / Test / testOnly org.apache.pekko.actor.TimersAndSupervisionSpec org.apache.pekko.actor.TimersAndStashSpec" - passed - scalafmt --mode diff-ref=origin/main - passed with JDK Unsafe deprecation warnings - scalafmt --list --mode diff-ref=origin/main - passed with JDK Unsafe deprecation warnings - git diff --check - passed - qodercli final diff review - No must-fix findings ### References Fixes #3265 -- 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]
