2.1. General Compatibility 7.5.0
This section describes compatibility issues that affect an upgrade to 7.5.0. It describes general, wire, and other compatibility issues between Connext 7.5.0 and previous releases.
Unless noted otherwise, the issues in this section do not apply to RTI Connext Micro.
See RTI Connext Performance Benchmarks for performance details in this release.
2.1.1. Wire Compatibility
2.1.1.1. DataReader in 7.5.0 may not interoperate with DataWriter in previous release when using XCDR and mutable unions
Consider the following scenario:
One DomainParticipant (DP1) is using 7.5.0.
One DomainParticipant (DP2) is using
a previous release (version 6.0.0 or above), and
Dynamic Data or a language API other than Java.
A union’s discriminator value may not select any member in the union. When this
is the case, and when the union is mutable, the XCDR serialization and
deserialization of the union are different between DP1 and DP2 by default. If
the union is part of a data type that has other members that appear after the
union, then this difference will cause lack of interoperability between the two
DomainParticipants. To enable interoperability, you must change DP1 as described in
Extensible Types Compliance Mask in the RTI Connext Core Libraries Extensible Types Guide.
The environment variable NDDS_XTYPES_COMPLIANCE_MASK
or the input of
set_xtypes_mask()
must exclude the bit 0x00000080
(sentinel_in_empty_union()
).
2.1.1.2. New requirement if you interoperate with DDS vendors that produce multiple RTPS messages in a single datagram
Release 7.5.0 fixed an issue (CORE-14701)
related to how Connext processes multiple RTPS messages in a single datagram.
As a result, Connext now requires the RTPS Header Extension’s message
length (messageLength
) to be present and correctly populated in every RTPS
message that does not finish at the end of the underlying datagram. This requirement
corresponds to the
OMG RTPS 2.5 specification.
Note
Currently, no RTI software produces a datagram containing two or more RTPS messages.
If your Connext 7.5.0 or later system interacts with another DDS vendor that produces multiple RTPS messages in a single datagram, that vendor must now populate the RTPS Header Extension message length in order to interoperate with Connext 7.5.0 or later.