What causes a "MIGGenerator_addData:serialize buffer too small" error message?

Note: Applies to RTI Connext 4.x and above.

The message MIGGenerator_addData:serialize buffer too small indicates that the transport-buffer size is too small for the data being sent and needs to be increased. 

When the transport layer is initialized, it allocates enough resources to serialize/deserialize topics up to a certain size. By default, the maximum size is 9K. (The maximum allowed for UDP is 64K).
 
If your topic's data size is larger than the transport-buffer settings, RTI Connext 4.1d and later will automatically fragment and defragment the data to fit within the maximum transport buffer sizes given that you are using BEST_EFFORT communications for the Reliability Qos. If you are using reliable communication and RTI Connext versions 7.3.0 or below, an asynchronous writer must be used. RTI Connext 7.4.0 and above does not require asynchronous writing for reliable fragmented data.
 

The builtin topic writers, however, do not fragment the builtin topic information. If large type-code information needs to be sent, it is essential to increase the transport-buffer settings to be larger than the maximum serialized typecode size. This increased size needs to be applied to all the transports you will use (i.e., UDPv4, UDPv6 and Shared Memory).

Refer to solution What is the maximum message size supported by RTI Connext 4.x and above? or consult the online (HTML) documentation (select Modules, Programming How-To's, Transport Use Cases) for details on how to increase the transport-buffer settings.

Note: the message would have been MIGGenerator_addIssue:serialize buffer too small in RTI Data Distribution Service 4.1f and below.

Keywords: