Clarification on EXCLUSIVE_OWNERSHIP_QOS behavior with equal priority

2 posts / 0 new
Last post
Offline
Last seen: 10 months 1 week ago
Joined: 09/17/2018
Posts: 7
Clarification on EXCLUSIVE_OWNERSHIP_QOS behavior with equal priority

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.

rip
rip's picture
Offline
Last seen: 1 month 3 weeks ago
Joined: 04/06/2012
Posts: 315

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.