5.4. Transports
5.4.2. [Major] TCP Transport did not properly enforce system FD_SETSIZE hard limits for select() socket monitoring
The TCP Transport did not properly enforce system FD_SETSIZE hard
system limits for SELECT socket monitoring. This may have resulted
in undefined behavior when using SELECT socket monitoring in systems
where overwriting the FD_SETSIZE to a custom value at compilation
time was not supported.
As a side-effect of this fix, the maximum FD_SETSIZE in Linux
systems has been reduced to 1024, which effectively limits both the
maximum number of sockets (to 1024) and the maximum socket ID (to
1023) that are supported by SELECT socket monitoring. To avoid
scalability issues in the Transport TCP in Linux systems, you are
encouraged to switch to POLL socket monitoring, which is the new
default (see “What’s New in 7.3.1”).
[RTI Issue ID COREPLG-756]
5.4.3. [Minor] Possible failure to create DomainParticipant if using multicast
If you were using multicast to receive either discovery or user traffic, it was possible for the ephemeral port used for sending unicast traffic to coincide with an intended multicast receive port, leading to DomainParticipant creation failure with this error:
DDS_DomainParticipant_enableI:Automatic participant index failed to initialize. PLEASE VERIFY CONSISTENT TRANSPORT / DISCOVERY CONFIGURATION.
This problem has been solved by removing the possibility of a port collision, thereby removing that as a possible reason for DomainParticipant creation failure.
Note that a port collision is still possible when specifying a
non-default value in the multicast or unicast fields within the
DataReaderQos or DataWriterQos and creating a DataReader or
DataWriter.
[RTI Issue ID CORE-15591]