5.1.5. Fixes Related to Reliability Protocol and Wire Representation
5.1.5.1. Samples not delivered to Required Subscription DataReaders when DataWriter used durable writer history and DataReaders disabled positive ACKs
A sample may not have been delivered to a Required Subscription DataReader if the DataWriter was using durable writer history and there were matching DataReaders configured with reader_qos.protocol.disable_positive_acks. This behavior violated the required subscription contract. This problem has been resolved.
[RTI Issue ID CORE-12825]
5.1.5.2. DataReader may not have received samples that were sent as gapped samples to another DataReader over multicast
A DataReader may not have received samples that were sent as gapped samples to another DataReader over multicast. A GAP tells a DataReader that it should not expect to receive the samples that are listed in the GAP message. In some cases, when a DataWriter was responding to a DataReader’s NACK message, the response contained a GAP which identified samples that should not have been gapped for any other DataReader aside from the DataReader whose NACK was being responded to. This was a problem if the NACK response was sent over multicast and was received by other DataReaders, because those DataReaders would incorrectly assume those gapped samples were irrelevant and would never receive them.
This issue has been resolved.
[RTI Issue ID CORE-13104]
5.1.5.3. DDS fragmentation may have led to more fragments than expected for a sample
In 7.0.0, you may have noticed that when using middleware-level fragmentation and a flow controller where bytes_per_token is set to a value smaller than the minimum transport message_size_max across all installed transports, the number of sample fragments generated for a sample may have been bigger than expected. Although this was not a functional issue, it may have led to performance degradation.
This problem has been fixed.
[RTI Issue ID CORE-13190]
5.1.5.4. Unexpected precondition error with debug libraries on a reliable DataWriter while sending a GAP
In the 6.1.2 and 7.0.0 releases, you may have seen the following precondition error while using the Connext debug libraries.
DL Debug: : Backtrace:
141: DL Debug: : #4 COMMENDSrWriterService_sendGapToRR /rti/jenkins/workspace/connextdds_ci_fastbuild-debug_develop/commend.1.0/srcC/srw/SrWriterService.c:4096 (discriminator 9) [0x5B101E]
141: DL Debug: : #5 COMMENDSrWriterService_onSendDataEvent /rti/jenkins/workspace/connextdds_ci_fastbuild-debug_develop/commend.1.0/srcC/srw/SrWriterService.c:6570 [0x5BACF6]
141: DL Debug: : #6 RTIEventActiveGeneratorThread_loop /rti/jenkins/workspace/connextdds_ci_fastbuild-debug_develop/event.1.0/srcC/activeGenerator/ActiveGenerator.c:307 [0x28E2FC]
141: DL Debug: : #7 RTIOsapiThreadFactory_onSpawned /rti/jenkins/workspace/connextdds_ci_fastbuild-debug_develop/osapi.1.0/srcC/threadFactory/ThreadFactory.c:208 [0x1F3A42]
141: DL Debug: : #8 RTIOsapiThreadFactory_onSpawned /rti/jenkins/workspace/connextdds_ci_fastbuild-debug_develop/osapi.1.0/srcC/threadFactory/ThreadFactory.c:208 [0x1F3A42]
141: DL Debug: : #9 RTIOsapiThreadChild_onSpawned /rti/jenkins/workspace/connextdds_ci_fastbuild-debug_develop/osapi.1.0/srcC/thread/Thread.c:1941 [0x1EDB64]
141: DL Debug: : #10 start_thread /build/glibc-CVJwZb/glibc-2.27/nptl/pthread_create.c:463 [0x76DB]
141: DL Debug: : #11 clone /build/glibc-CVJwZb/glibc-2.27/misc/../sysdeps/unix/sysv/linux/x86_64/clone.S:97 [0x12161F]
141: DL Fatal: : FATAL rCoRTInk####Evt [0x01014F91,0x39810444,0x4EC68AEA:0x000004C2|RECEIVE FROM remote DR (GUID: 0x01015FBD,0x5892DC7E,0x9DB082D4:0x000004C7).
141: ] Mx00:/rti/jenkins/workspace/connextdds_ci_fastbuild-debug_develop/commend.1.0/srcC/srw/SrWriterService.c:4099:RTI0x200003b:!precondition: "((((gapStartSn)->high) > (((&(gapBitmap)->_lead))->high)) ? 1 : ((((gapStartSn)->high) < (((&(gapBitmap)->_lead))->high)) ? -1 : ((((gapStartSn)->low) > (((&(gapBitmap)->_lead))->low)) ? 1 : ((((gapStartSn)->low) < (((&(gapBitmap)->_lead))->low)) ? -1 : 0)))) >= 0"
141: DL Error: : ERROR [0x01014F91,0x39810444,0x4EC68AEA:0x000004C2|RECEIVE FROM remote DR (GUID: 0x01015FBD,0x5892DC7E,0x9DB082D4:0x000004C7).
141: ] COMMENDSrWriterService_onSendDataEvent:!send GAP
This error was generated by a reliable DataWriter sending a GAP to a reliable DataReader. After the error was printed, the DataReader may have stopped receiving data from the DataWriter, leading to a non-recoverable situation. This problem did not occur with release libraries. This problem has been fixed.
[RTI Issue ID CORE-13462]