3. What’s New in 7.6.0

This section describes what’s new in Persistence Service 7.6.0 compared to release 7.5.0.

RTI® Connext® 7.6.0 is an early access release. See the Connext Versions and Lifecycle page for more information on RTI’s software release model.

For what’s new and fixed in other products in the Connext suite, see those products’ release notes on the RTI Community Portal or in your installation.

3.1. Reduced bandwidth usage for Persistence Service synchronization no longer experimental

Release 7.5.0 introduced an improved sample synchronization protocol for redundant Persistence Service instances, ensuring eventual consistency of DDS instances with minimal network usage. Instructions for using this feature are provided in Synchronizing of Persistence Service Instances in the RTI Connext Core Libraries User’s Manual.

In release 7.5.0, this enhancement was experimental, but in release 7.6.0, we have stabilized the feature, fixed bugs, and further reduced bandwidth consumption. Sample synchronization is ready for production use.

Note

The transition from experimental to production-ready status required changes to the configuration of the new synchronization protocol. As a result, the previous configuration format is no longer supported. For details on these changes, see the next entry, “Improved bandwidth utilization in new Persistence Service synchronization.”

3.2. Improved bandwidth utilization in Persistence Service synchronization

Release 7.5.0 introduced an improved sample synchronization protocol for redundant Persistence Service instances, ensuring eventual consistency of DDS instances with minimal network usage. This protocol is configured using the <data_synchronization> tag in the <persistence_service><synchronization> section, and it is significantly more efficient in terms of bandwidth utilization than the previous protocol, which was configured using the now-deprecated <synchronize_data> tag in the same section.

This release introduces further optimizations to the new synchronization protocol, enhancing bandwidth efficiency even more. These improvements required changes to the protocol’s configuration. Specifically, the <remote_provider_change_period> tag has been removed and replaced by two new parameters: <stable_provider_period_count> and <max_remote_provider_change_period_count>. If <remote_provider_change_period> is still present in the configuration, the Persistence Service will fail to start and report an error.

For more details on these changes, see Synchronizing of Persistence Service Instances in the RTI Connext Core Libraries User’s Manual.

3.3. Persistence Service now always reads samples using WaitSets, for improved performance

The <use_wait_set> tag under <persistence_group> has been deprecated. Persistence Service now always uses WaitSets to read samples received by its DataReaders (PRSTDataReaders). As a result, support for listeners in Persistence Service is removed.

In this release, the <use_wait_set> tag can still be set; however, if set to false, it will be ignored. Support for this tag will be fully removed in a future release.

Previously, the default listener-based approach resulted in lower throughput, particularly under high-frequency data conditions.

3.4. Reduced memory consumption

In previous releases, Persistence Service created two DomainParticipants per domain—one for reading and one for writing data. This release introduces an improvement by using a single DomainParticipant per domain for both operations, resulting in reduced memory usage. See Configuring Participants in the RTI Connext Core Libraries User’s Manual.

3.5. Improved scalability and performance in Persistence Service

This release changes the default configuration of single_subscriber and single_publisher to FALSE. This update increases parallelism when reading and storing samples for different Topics. See Creating Persistence Groups in the RTI Connext Core Libraries User’s Manual for more information.

3.6. Persistence Service now always uses WaitSets, for improved performance

The <use_wait_set> tag under <persistence_group> has been deprecated. Persistence Service now always uses WaitSets to read samples received by its DataReaders (PRSTDataReaders). As a result, support for listeners in Persistence Service is removed.

In this release, the <use_wait_set> tag can still be set; however, if set to false, it will be ignored. Support for this tag will be fully removed in a future release.

Previously, the default listener-based approach resulted in lower throughput, particularly under high-frequency data conditions.

3.7. Improved synchronization protocol performance in Persistence Service

The synchronization protocol in Persistence Service now uses a new built-in content filter, resulting in reduced bandwidth usage when sharing filter expressions and faster evaluation of which Persistence Service instances should receive samples.

For more information, see Synchronizing of Persistence Service Instances in the RTI Core User’s Manual.