akka/akka-core
View on GitHubUnstashed messages enqueued in TestActorRef mailbox while processing a message from self are stuck until another message is received
Open
#30,170 opened on Apr 7, 2021
help wantednice-to-have (low-prio)t:testing
Repository metrics
- Stars
- (13,277 stars)
- PR merge metrics
- (Avg merge 8d 19h) (10 merged PRs in 30d)
Description
In the following workflow, unstashed messages are enqueued in the mailbox but are not processed as expected:
- Send message (
messageOne) from TestKit to TestActorRef - TestActorRef underlying actor stashes
messageOneand schedules a subsequent message to self (selfMessage) selfMessageis sent and processed andmessageOneis unstashed during processing ofselfMessagemessageOneis not processed- Send another message (
messageTwo) from TestKit to TestActorRef - Both
messageOneandmessageTwoare processed
akka.testkit.CallingThreadDispatcher#runQueue appears to process the provided MessageQueue at the time of invocation rather than using the active Mailbox MessageQueue.