Unbounded sequence support for writers in 5.2.3

2 posts / 0 new
Last post
Offline
Joined: 03/05/2019
Posts: 1
Unbounded sequence support for writers in 5.2.3

Whenever I try and create a datawriter for a type with unbounded sequences and unboundedSupport turned on, the writer crashes trying to allocate a large buffer.

The last line of the error is REDAFastBufferPool_growEmptyPoolEA and the size it is complaining about is about 68 GB (I don't have the exact log in from of me). The readers for these types work fine. I've tried setting dds.data_writer.history.memory_manager.fast_pool.pool_buffer_max_size to 0 which doesn't change anything.

It seems like the writer is always trying to allocate buffers which are the max size of the sample. For unbounded samples, this size is always very large so I'm not sure how this could work.

Here's the config I'm using. Is there any way to make sure this is actually being set correctly?

<datawriter_qos>
<property>
<value>
<element>
<name>dds.data_writer.history.memory_manager.fast_pool.pool_buffer_max_size</name>
<value>0</value>
</element>
</value>
</property>
</datawriter_qos>

Offline
Joined: 04/02/2013
Posts: 88

I wonder if the DataWriter is not picking up the Qos configuration. You can call DataWriter::get_qos() in the application and print the elements of the PropertyQosPolicy. Since the DataWriter is crashing before you create it, you could temporarily redefine your IDL type so it doesn't use unbounded sequences to avoid the crash and print the Property.