Currently the order of messaging is preserved, i.e. when message m1 follows m2, they will be processed by an actor as m1, then m2. This is correct, and what is expected.
However, them messages are sent to the same address, where actors (a1 and a2), belong to supervisors but the same locality, are subscribed, they are processed in the following order (we assume that a1 subscribed "earlier" then a2):
a1 processes m1, then m2 , and then
a2 processes m1 and then m2
Generally speaking, this is correct, however this is not what is expected: using the same locality, means, that actors use the same thread (or same context), and can access to shared resources without synchronization. So, the expected order of processing should be:
Currently the order of messaging is preserved, i.e. when message
m1
followsm2
, they will be processed by an actor asm1
, thenm2
. This is correct, and what is expected.However, them messages are sent to the same address, where actors (
a1
anda2
), belong to supervisors but the same locality, are subscribed, they are processed in the following order (we assume thata1
subscribed "earlier" thena2
):a1
processesm1
, thenm2
, and thena2
processesm1
and thenm2
Generally speaking, this is correct, however this is not what is expected: using the same locality, means, that actors use the same thread (or same context), and can access to shared resources without synchronization. So, the expected order of processing should be:
a1
processesm1
a2
processesm1
a1
processesm2
a2
processesm2