3.3.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.

3.3.1.1. Wire Compatibility

3.3.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.

3.3.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.

3.3.1.2. Type System Compatibility

3.3.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 3.4.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.

3.3.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 3.4.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).

3.3.1.3. Other Compatibility Issues

3.3.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.