5.2.5. Other
5.2.5.1. [Critical] Excessive bandwidth usage in synchronization protocol
Releases 7.5.0 and 7.3.0.10 introduced a new, more efficient synchronization protocol. However, a defect in this protocol could have led to excessive bandwidth consumption.
For certain Topics, a Persistence Service may have repeatedly switched its selected provider, resulting in unnecessary metadata traffic that could grow significantly over time.
[RTI Issue ID PERSISTENCE-446]
5.2.5.2. [Critical] Synchronization protocol failed when multiple persistence groups matched same Topic
In previous releases, the synchronization protocol—enabled by setting
<synchronization>/<data_synchronization>/<enable> to TRUE—did
not function as expected when a Persistence Service instance belonged
to multiple persistence groups matching the same Topic.
As a result, data may not have been properly synchronized or received by the application’s DataReaders.
For example:
<persistence_service name="PS">
<synchronization>
<data_synchronization>
<enable>true</enable>
</data_synchronization>
</synchronization>
<participant name="PRSTParticipant">
<persistence_group name="PRSTGroup_0">
<filter>Foo</filter>
</persistence_group>
<persistence_group name="PRSTGroup_1">
<filter>Foo</filter>
</persistence_group>
</participant>
</persistence_service>
[RTI Issue ID PERSISTENCE-438]
5.2.5.3. [Critical] Unexpected error messages when enabling synchronization
In release 7.3.0.10, the following error messages may have occurred when enabling synchronization in Persistence Service:
ERROR [ON PROVIDER SELECTION] PERSISTENCESyncState_getServiceTopicForRemoteProvider:FAILURE | Unexpected provider GUID in 6_syncRemoteProviderReaderTable record; expected provider GUID=8264B0D756D740F44F9043E874AB0060, found provider GUID=BC30414365841DF33EA2E3F2F65FCB4D
ERROR [ON PROVIDER SELECTION] PERSISTENCESyncState_getFilterChangeInfoForProvider:FAILED TO FIND | service topic for provider-source record
ERROR [ON PROVIDER SELECTION] PERSISTENCESyncState_updateServiceTopicFilters:FAILED TO GET | filter change info for provider
ERROR [ON PROVIDER SELECTION] PERSISTENCESyncState_getServiceTopicForRemoteProvider:FAILURE | Unexpected provider GUID in 6_syncRemoteProviderReaderTable record; expected provider GUID=8264B0D756D740F44F9043E874AB0060, found provider GUID=BC30414365841DF33EA2E3F2F65FCB4D
ERROR [ON PROVIDER SELECTION] PERSISTENCESyncState_getFilterChangeInfoForProvider:FAILED TO FIND | service topic for provider-source record
ERROR [ON PROVIDER SELECTION] PERSISTENCESyncState_updateServiceTopicFilters:FAILED TO GET | filter change info for provider
These messages were harmless unless you had more than one persistence group in Persistence Service matching the same Topic.
[RTI Issue ID PERSISTENCE-437]
5.2.5.4. [Minor] Error could occur when running Valgrind with data synchronization enabled
When Persistence Service ran under Valgrind with
<data_synchronization> enabled, the following Valgrind error could
occur:
Source and destination overlap in memcpy
This error only occurred when the source and destination addresses reported by Valgrind were identical. Therefore, this was a benign issue and no data corruption would occur.
[RTI Issue ID PERSISTENCE-424]