Akka.Persistence: IStash
filters out messages with identical senders + references
#7373
Labels
Milestone
IStash
filters out messages with identical senders + references
#7373
Version Information
Version of Akka.NET? v1.5.30
Which Akka.NET Modules? Akka.Persistence
Describe the bug
Two versions of the same test, against an actor that uses
Stash.Stash()
internally - theCohortActor
in this case is anUntypedPersistentActor
that implementsIWithStash
This test fails - the second
cohortActor.Tell(pauseCmd, TestActor);
does not get processed, so the secondExpectMsgAsync
times out. That message simply disappears - noDeadLetter
notification or anything. I even observed two messages both go into the stashStash.Count == 2
but when it comes time toUnstashAll
, only a single instance makes it into the mailbox.The second version of this test passes:
The message content is effectively identical, but the
pauseCmd1
andpauseCmd2
reference equality checks do not pass!To Reproduce
Runnable reproduction in LinqPad here: https://share.linqpad.net/exn9a5du.linq - this one uses Akka.Persistence actors
Expected behavior
Both stashed messages should be successfully processed.
Actual behavior
In other tests, only one of the stashed messages gets processed.
Additional context
Worth noting - if I can't reproduce this with vanilla Akka even if I do weird stuff like change the behavior to non-default in the CTOR of the
UntypedActor
: https://share.linqpad.net/s7urq58p.linqThe text was updated successfully, but these errors were encountered: