3.2.3. RTI Persistence Service
3.2.3.1. Creation of Persistence Service instance using Persistence Service library will change DomainParticipantFactoryQos settings by default
Release 7.5.0 introduced a new parameter in RTI_PersistenceServiceProperty
called initialize_dp_factory, which indicates if the
DomainParticipantFactory should be initialized or not when creating the
Persistence Service instance. Setting the parameter to TRUE may overwrite
previous DomainParticipantFactoryQos values that you may have set in your
application before creating the Persistence Service instance. By default,
it is set to TRUE.
To go back to old behavior, set initialize_dp_factory to FALSE.
3.2.3.2. Errors when using Persistence Service with DataWriters from some previous releases, when Persistence Service synchronization is enabled
Release 7.5.0 introduces an improved sample synchronization protocol for redundant Persistence Service instances. This ensures eventual consistency of DDS instances while minimizing network usage. Enable it with the following setting:
<persistence_service>
<synchronization>
<data_synchronization>
<enable>true</enable>
</data_synchronization>
</synchronization>
</persistence_service>
If you are using Persistence Service with DataWriters from Connext 7.4.0 or earlier (except 7.3.0.10+), you may see errors such as the following:
ERROR [0x010176B9,0x6D4D7FB4,0x4D0F8EA4:0x00000000|ASSERT REMOTE DR|:0x80000003
{Entity=DW,Topic=Example MyType,Type=MyType,Domain=56}|
LINK 0x0101E668,0xA043E4A4,0x5C42C69E:0x80000004{Type=MyType}|
LC:Discovery] DDS_TypeCode_dereference_member_name:
member starting with [sg.v <> &hex(F4BC197CE4E80FC39CF71EE27821DEBF)] not found
Despite these errors:
DataWriters continue to communicate with the Persistence Service.
However, writer-side filtering is disabled if either:
DataReaders use a ContentFilteredTopic, or
the Persistence Service configuration specifies a
<content_filter>.
The previous synchronization protocol is deprecated but remains available. To enable it:
<persistence_service>
<synchronization>
<synchronize_data>true</synchronize_data>
</synchronization>
</persistence_service>