10.3.12. Other

10.3.12.1. [Critical] Lost samples or fragments not repaired when using a flow controller

When using a flow controller, repair packets may not have been sent by a DataWriter to a DataReader to replace lost fragments or samples. The writer would only send repair packets when a new sample was written, resulting in repairs never being sent if another sample was not written. Repair packets will now be sent by the flow controller as soon as they are required.

[RTI Issue ID MICRO-7403]

10.3.12.2. [Major] Enabling asynchronous publication on DataWriter caused RTPS messages to fail

If the publish_mode.kind of a DataWriter’s QoS was configured to be ASYNCHRONOUS_PUBLISH_MODE_QOS, RTPS messages from that DataWriter may have failed to send. This condition occurred specifically if asynchronous publication was enabled AND the sample type did not require RTPS fragmentation.

[RTI Issue ID MICRO-7219]

10.3.12.3. [Major] Finalizing a participant might have failed when using DPSE

DDS_DomainParticipant_finalize() may have failed if the participant was using the DPSE discovery plugin. This issue was most likely to occur on macOS® platforms.

[RTI Issue ID MICRO-7870]

10.3.12.4. [Major] Samples with meta-information were not delivered to the user if they arrived when history cache was full

When a DataReader’s history cache was full, samples containing meta-information from matched DataWriters were not delivered to the user.

[RTI Issue ID MICRO-8063]

10.3.12.5. [Minor] Flow controllers incorrectly delayed sending packets

The token-bucket flow controller may have waited to send packets until its next period, even if more tokens were available during the current period.

[RTI Issue ID MICRO-8024]

10.3.12.6. [Minor] DataWriters with KEEP_ALL History may not have sent all historical samples

DataWriters with History kind set to DDS_KEEP_ALL_HISTORY_QOS and Durability kind set to DDS_TRANSIENT_LOCAL_DURABILITY_QOS would send historical samples only up to the History depth. DataWriters now send historical samples up to max_samples_per_instance.

[RTI Issue ID MICRO-8505]

10.3.12.7. [Trivial] Illegal reflective access warning when running MAG with OpenJDK™ 11

This issue was fixed in 4.0.1, but not documented at that time.

Running Micro Application Generator (MAG) with OpenJDK 11 generated the following warning:

WARNING: An illegal reflective access operation has occurred

WARNING: Illegal reflective access by com.rti.micro.appgen.utils.QosUtils (file:/.../rti_connext_dds_micro-4.0.0/rtiddsmag/class/rtiddsmag.jar) to field java.lang.String.value

WARNING: Please consider reporting this to the maintainers of com.rti.micro.appgen.utils.QosUtils

WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations

WARNING: All illegal access operations will be denied in a future release

MAG has been updated to use OpenJDK 17, which does not generate this warning.

[RTI Issue ID MAG-172]

10.3.12.8. [Trivial] Incorrect example instructions in the User’s Manual

A “Hello, World” Example in the User’s Manual stated incorrectly that the files for the example were included with Connext Micro. The instructions have been updated to reflect that the files are generated with rtiddsmag.

[RTI Issue ID MICRO-7376]

10.3.12.9. [Trivial] Micro transformation example failed to compile

Connext Micro failed to compile with the Visual Studio® 2010 solution files included in the transformation example. The build process has been updated to compile with a new CMake file.

[RTI Issue ID MICRO-7171]