make remote deployment work with Artery, #20715
There were two related problems with remote deployment when using Artery. * DaemonMsgCreate is not a SystemMessage, but must be sent over the control stream because remote deployment process depends on message ordering for DaemonMsgCreate and Watch messages. It must also be sent over the ordinary message stream so that it arrives (and creates the destination) before the first ordinary message arrives. * The first point solves the creation of the remote deployed actor but it's not enough. Resolve of the recipient actor ref may still happen before the actor is created. This is solved by retrying the resolve for the first message of a remote deployed actor.
This commit is contained in:
parent
d6c048f59a
commit
5c234940c6
13 changed files with 195 additions and 94 deletions
|
|
@ -37,13 +37,12 @@ class AttemptSysMsgRedeliveryMultiJvmNode2 extends AttemptSysMsgRedeliverySpec(
|
|||
class AttemptSysMsgRedeliveryMultiJvmNode3 extends AttemptSysMsgRedeliverySpec(
|
||||
new AttemptSysMsgRedeliveryMultiJvmSpec(artery = false))
|
||||
|
||||
// FIXME this test is failing for Artery, a DeathWatchNotification is not delivered as expected?
|
||||
//class ArteryAttemptSysMsgRedeliveryMultiJvmNode1 extends AttemptSysMsgRedeliverySpec(
|
||||
// new AttemptSysMsgRedeliveryMultiJvmSpec(artery = true))
|
||||
//class ArteryAttemptSysMsgRedeliveryMultiJvmNode2 extends AttemptSysMsgRedeliverySpec(
|
||||
// new AttemptSysMsgRedeliveryMultiJvmSpec(artery = true))
|
||||
//class ArteryAttemptSysMsgRedeliveryMultiJvmNode3 extends AttemptSysMsgRedeliverySpec(
|
||||
// new AttemptSysMsgRedeliveryMultiJvmSpec(artery = true))
|
||||
class ArteryAttemptSysMsgRedeliveryMultiJvmNode1 extends AttemptSysMsgRedeliverySpec(
|
||||
new AttemptSysMsgRedeliveryMultiJvmSpec(artery = true))
|
||||
class ArteryAttemptSysMsgRedeliveryMultiJvmNode2 extends AttemptSysMsgRedeliverySpec(
|
||||
new AttemptSysMsgRedeliveryMultiJvmSpec(artery = true))
|
||||
class ArteryAttemptSysMsgRedeliveryMultiJvmNode3 extends AttemptSysMsgRedeliverySpec(
|
||||
new AttemptSysMsgRedeliveryMultiJvmSpec(artery = true))
|
||||
|
||||
object AttemptSysMsgRedeliverySpec {
|
||||
class Echo extends Actor {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue