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]

Reply via email to