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.