3. What’s New in 7.3.1

This section describes what’s new in Persistence Service 7.3.1 compared to release 7.3.0.

Connext 7.3.1 is a maintenance release in the 7.3 long-term support (LTS) series. See Previous Releases for all other new features in 7.3 LTS. 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

This release introduces an improved sample synchronization protocol for redundant Persistence Service instances, ensuring eventual consistency of DDS instances with minimal network usage.

To enable and configure the new protocol, use the <data_synchronization> tag under <persistence_service><synchronization>. For configuration details and guidance, see Synchronizing of Persistence Service Instances in the RTI Connext Core Libraries User’s Manual.

The old synchronization protocol is deprecated. However, if needed you can still use it by setting the tag <synchronize_data> under <persistence_service><synchronization>.

3.2. Improved synchronization protocol performance in Persistence Service [1]

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 Connext Core Libraries User’s Manual.

3.3. XML option to enable new synchronization built-in content filter [1]

A new configuration option, <enable_sync_builtin_filter>, has been added under the <data_synchronization> tag in Persistence Service. When set to TRUE (the default), this option enables a new, more efficient built-in synchronization filter. Setting it to false reverts to the previous built-in SQL filter for synchronization. The following snippet demonstrates how to use it:

<persistence_service name="DisableSyncBuiltinFilter">
    <synchronization>
        <data_synchronization>
            <enable>true</enable>
            <enable_sync_builtin_filter>false</enable_sync_builtin_filter>
        </data_synchronization>
    </synchronization>
    ...
</persistence_service>

3.4. Ensure proper synchronization of dispose messages when <propagate_dispose> and <data_synchronization> are enabled

In previous releases, if you enabled <data_synchronization> as follows:

<synchronization>
    <data_synchronization>
        <enable>true</enable>
    </data_synchronization>
</synchronization>

and also set <propagate_dispose> to TRUE for a <persistence_group>, you may have observed that some dispose messages were not properly synchronized.

This issue could be resolved by explicitly setting <propagate_dispose_of_unregistered_instances> to TRUE in the <datareader_qos> of the <persistence_group>. However, this workaround was not obvious and could cause confusion.

Starting with this release, Persistence Service automatically sets <propagate_dispose_of_unregistered_instances> to TRUE when synchronization is enabled. This setting ensures dispose messages are always propagated consistently without requiring additional configuration.

3.5. Improved performance when purge_samples_after_acknowledgment set to TRUE

This release improves the Persistence Service execution time and CPU usage under the following scenario:

The performance improvement occurs when Persistence Service is adding samples to a large database. The improvement is more noticeable when there are many historical samples in the database that are being delivered and acknowledged while Persistence Service is adding more samples to the database.

3.6. Third-Party Software Changes

The following third-party software used by Persistence Service has been upgraded:

Table 3.1 Third-Party Software Upgrades

Third-Party Software

Old Version

New Version

SQLite

3.39.4

3.50.2

For information on third-party software used by Connext products, see the “3rdPartySoftware” documents in your installation: <NDDSHOME>/doc/manuals/connext_dds_professional/release_notes_3rdparty.

Footnotes