We have a topic that is marked EXCLUSIVE_OWNERSHIP_QOS, but it is not clear what the behavior is in case of equal priorities.
It seems that when a new node joins, the old node maintains exclusive ownership. When the old node goes offline, the new node gains ownership.
However, when the old node rejoins, it regains ownership. Is this expected behaviour? At what point does the situation "reset" to where the new node gains priority over the old one? Surely if you restart the whole network another node can get priority.
From the spec: An unambiguous method must be provided that automatically determines, in all cases, regardless of participant/subscriber/reader, which writer will be deemed to be the owner when two or more writers are seen with the same strength (not priority).
ISTR that with Connext, the writer's unique ID is used for that some how.
Note: The spec breaks down in that it did not (way back when I did this stuff for money) declare what that unambiguous method should be. Concequently, it is VENDOR DEPENDENT. That means that a DDS participant from RTI may pick a different "unambiguous method" than some other vendor. All of RTIs stuff will react the "correct" way for RTI, and all of 'other vendor's' stuf will react the "correct" way for 'other vendor"... and there exists a non-zero possibility that "correct" != "correct".
minor edge case, but there you go. And they may have fixed that by now, either within the spec itself, or by having the vendors simply agree at a plug-fest how to handle it.