5.1. General Compatibility 6.0.1
This section describes compatibility issues that affect the Connext suite in release 6.0.1. Unless noted otherwise, the issues in this section do not apply to Connext Micro.
Attention
For information on new and removed platforms and features in this release, see What’s New in 6.0.1. See also individual products’ Release Notes.
5.1.1. Wire Compatibility
5.1.1.1. RTPS Versions
For information about the RTPS versions supported for each Connext release, see Compatibility, in the RTI Connext DDS Core Libraries Release Notes.
5.1.1.2. Fragmentation is now independent of sample serialized size
In 6.0.1, when using a FlowController, the fragment size for a sample should be either
(a) bytes_per_token
or (b) the smallest of the message_size_max
values across all
transports installed with the DataWriter, whichever is less.
In previous releases, however, if the serialized size of the sample was smaller
than or equal to the maximum message size of the transport with which the sample
was sent, minus some protocol overhead (512 bytes by default), Connext chose the
maximum message size of the transport as the fragment size, ignoring bytes_per_token
,
which may be smaller.
This behavior may have led to a bursty behavior of the FlowController that resulted in not sending fragments every period but sending them only when enough tokens were accumulated to send the full sample.
This problem has been resolved. (See RTI Issue ID CORE-9287 in
“Fixes Related to Reliability Protocol and Wire Representation” in the RTI Connext Core Libraries Release Notes.)
Now when the serialized size of a sample when using a FlowController is smaller than
or equal to the maximum message size of the transport as described above, the fragment
size for the sample is the lesser of (a) bytes_per_token
or (b) the smallest of the
message_size_max
values across all transports installed with the DataWriter.
If you need to go back to the old behavior, before this fix, please contact support@rti.com.
5.1.2. Type System Compatibility
5.1.2.1. Wire representation of TypeObject
In 6.0.0, Connext enabled TypeObject compression by default to reduce
bandwidth usage when exchanging endpoint discovery data.
See Section 6.1.3.2. The compressed TypeObject (TypeObjectLb)
deserialization depended on the DDS_DomainParticipantResourceLimitsQosPolicy’s
type_object_max_serialized_length
to control the maximum size of the buffer that
Connext uses to uncompress the received compressed TypeObject.
Starting in 6.0.1, this uncompression buffer is no longer controlled by the
DDS_DomainParticipantResourceLimitsQosPolicy’s type_object_max_serialized_length
(default value: 8192 bytes). Instead, it is controlled by the
DDS_DomainParticipantResourceLimitsQosPolicy’s type_object_max_deserialized_length
(default value: DDS_LENGTH_UNLIMITED).
As a result, you can now configure Connext to only receive (but not propagate) compressed
TypeObjects by setting type_object_max_serialized_length
to zero and keeping
type_object_max_deserialized_length
set to DDS_LENGTH_UNLIMITED.
5.1.2.2. Incompatibility issues for Java and .Net when using XCDR2
Starting in 6.0.0, Connext supports the Extended Common Data Representation (CDR) encoding version 2 (XCDR2), in addition to version 1 (XCDR). XCDR2 is supported in both Connext and Connext Micro. See Section 6.1.3.1 for details.
Support for XCDR2 introduced some bugs in 6.0.0 that were addressed in 6.0.1. (For details, see RTI Issue IDs CODEGENII-1197, CODEGENII-1198, and CODEGENII-1206 in “What’s Fixed in 3.0.1” in the Code Generator Release Notes.) Fixing those bugs broke backward compatibility with 6.0.0. Therefore, applications in Java or .Net in release 6.0.1 or above may not interoperate with applications in another language in 6.0.0, and vice-versa (applications in Java or .Net in release 6.0.0 may not interoperate with applications in another language in 6.0.1 or above).
5.1.3. Other Compatibility Issues
5.1.3.1. Large data support for Multichannel and TopicQuery has been disabled
Due to the Known Issue described in “Multichannel and TopicQuery do not Work with Large Data in Some Cases,” in the RTI Connext Core Libraries Release Notes, large data support for Multichannel and TopicQuery has been disabled in release 6.0.1. If you need this functionality enabled as it was in 6.0.0, please contact RTI support (support@rti.com). This functionality has been re-enabled in 6.1.0.