Source: Real-Time Innovations ( Gerardo Pardo-Castellote)
According to the Qos table in 2.2.3 'Supported QoS' the default value for autodispose_unregistered_instance is TRUE. We have found a two issues with this
(1) It is not semantically what people expect. Just because a DataWriter is deleted it does not mean all the instances should be deleted... It could be so for some use-cases, but we found that in the majority of the use-cases it is not an intuitive behavior.
(2) It is not scalable. If writer with a lot of instances is deleted. it needs to send many messages and potentially wait until they are acknowledged before releasing the DataWriter resources. This makes the data-writer delete operation something that can block for an unbounded time which is not what applications expect.
It sees it would be better to:
(a) Change the default value of autodispose_unregistered_instance to FALSE.
(b) Provide a better/more efficient/scalable way to communicate to the DataReaders that all the instances of a DataWriter have been deleted.
Reported: DDS 1.4 — Thu, 30 Apr 2020 21:02 GMT
Updated: Fri, 8 May 2020 12:32 GMT