A clone is prompted to do the recovery dance when the remotes object revokes its 'live' status, for example if the network is down and the remotes object detects it is partitioned.
In the event of a split-brain, in which a set of clones partitions from another set, e.g. when using MQTT bridges, the remotes object may have no idea that this has occurred. The only clue is after the split heals and a message arrives for which the prev message is missing. All clones in receipt of such a message will then re-connect:
Recovering from each other would mean not recovering, until at least one recovers by talking to someone from the other side of the split (see #6)
This will flood the network with control messages (see #7)
Probably need a much smarter way to detect and recover from this case specifically.
A clone is prompted to do the recovery dance when the remotes object revokes its 'live' status, for example if the network is down and the remotes object detects it is partitioned.
In the event of a split-brain, in which a set of clones partitions from another set, e.g. when using MQTT bridges, the remotes object may have no idea that this has occurred. The only clue is after the split heals and a message arrives for which the
prev
message is missing. All clones in receipt of such a message will then re-connect:Probably need a much smarter way to detect and recover from this case specifically.