.. include:: /../getting_started/vars.rst .. _section-General-740: General Compatibility 7.4.0 *************************** This section describes compatibility issues that affect an upgrade to 7.4.0. It describes general, wire, and other compatibility issues between *Connext* 7.4.0 and previous releases. Unless noted otherwise, the issues in this section do not apply to *RTI* |CONNEXT| *Micro*. .. attention:: For important information on new and removed platforms and features in release 7.4.0, see :link_whats_new_740:`What's New in 7.4.0 <>`. See also individual products' :link_rti_community_doc_s:`Release Notes <740>`. See :ref:`section-Product-Index-740` for specific issues. See `RTI Connext Performance Benchmarks `__ for performance details in this release. Wire Compatibility ================== RTPS Versions ------------- See :link_release_notes_comp_740:`Compatibility, in the RTI Connext DDS Core Libraries Release Notes <>` for information about the RTPS versions supported for each |CONNEXT| release. Best-effort |DR| from before 6.1.0 cannot receive MultiChannel RTPS fragmented data from synchronous |DW| in 7.4.0 ------------------------------------------------------------------------------------------------------------------ You cannot have a best-effort |DR| from a release below 6.1.0 receiving MultiChannel RTPS fragmented data from a 7.4.0 |DW| publishing synchronously. This backward compatibility had to be broken because of the fix for RTI Issue ID `CORE-14668 `__. .. CORE-14668 Transport Compatibility ======================= Real-Time WAN Transport updated message_size_max value may cause messages to be dropped from previous versions -------------------------------------------------------------------------------------------------------------- The ``message_size_max`` for the *RTI Real-Time WAN Transport* has been decreased from 65535 to 1400 to avoid issues related to IP fragmentation that are common in WAN environments. (See :link_rwt_release_notes_wn_740:`What's New in 7.4.0 <>` in the *RTI Real-Time WAN Transport Release Notes*.) Because of this change, RTPS messages with serialized sizes larger than 1400 bytes may be dropped by the current release and the following error message will appear when two |DPs| discover each other: :: ERROR [PARSE MESSAGE|0x01015772,0xEFEA70AC,0xB9D66813:0x000100C7{Entity=DR,MessageKind=DATA}| RECEIVE FROM 0x0101C23E,0x7B2BF1E0,0xA1CDCA5F:0x000100C2|:0x000001C1{Domain=0}|ASSERT REMOTE DP| LC:Discovery] PRESParticipant_checkTransportInfoMatching:INVALID CONFIGURATION | the message_size_max, 65507, for udpv4_wan, of the remote participant (guid: 0x0101C23E, 0x7B2BF1E0,0xA1CDCA5F, name: ''), does not match the message_size_max, 1400, of the local participant (guid: 0x01015772,0xEFEA70AC,0xB9D66813, name: ''). Will lose RTPS packets with size > 1400. The messages are dropped because the ``DDS_ReceiverPoolQosPolicy::buffer_size`` default value is set to an AUTO value that takes the maximum value of the ``message_size_max`` across all installed transports in a |DP|. Because it is a maximum across all installed transports, if you have another transport installed (such as the builtin shared memory or UDPv4 transports) and have not changed the ``message_size_max`` for those transports, then you will not have a problem with dropped messages, even if you see the error message about dropped packets for the UDPv4_WAN transport. You can avoid dropped messages by doing one of the following: - Update the ``message_size_max`` in versions before 7.4.0 to 1400. You can use the ``BuiltinQosSnippetLib::Transport.UDP.WAN`` snippet. This QoS snippet enables the *Real-Time WAN Transport*, sets the ``message_size_max`` to 1400, and enables asynchronous publishing, which was required in previous releases to support data fragmentation when using reliable communication (that requirement has been removed in this release). For example: :: BuiltinQosSnippetLib::Transport.UDP.WAN .... - Change the value of the ``DDS_ReceiverPoolQosPolicy::buffer_size`` QoS to be as large as the ``message_size_max`` of the application running a previous version of |CONNEXT| (65535 if it was left to the default). For example: :: 65535 .... .... - Update the ``message_size_max`` in 7.4.0 to be the same as the previous version (65535 if it was previously left untouched). For example: :: 65535 .... .... This solution has the disadvantage that you are likely to run into issues related to IP fragmentation. For more information about IP fragmentation and DDS fragmentation, see :link_fragrwt_usersman_740:`Disabling IP Fragmentation for Real-Time WAN Transport <>` in the *RTI Connext Core Libraries User's Manual*. .. CORE-14698 or DOC-569