5.6.8. Content Filters and Query Conditions
5.6.8.1. [Critical] Failure filtering samples on a DataReader when using DynamicData and Zero Copy
A DynamicData DataReader using a ContentFilteredTopic or QueryConditions and communicating with a DataWriter using Zero Copy transfer over shared memory may have failed to filter the received samples when the DataReader’s DynamicData TypeSupport was configured to skip sample deserialization by setting the option DynamicDataTypeSerializationProperty.skip_deserialization to true.
When this problem occurred, the DataReader generated the following error messages:
ERROR [0x0101BE35,0x47B28D9B,0x87A311F6:0x80000004{Entity=DR,MessageKind=DATA}|RECEIVE FROM 0x0101D676,0xE92E1D8E,0x91728D11:0x80000003] DDS_DynamicData2TypePlugin_serialize:error copying CDR buffer (batching is not supported)
ERROR [0x0101BE35,0x47B28D9B,0x87A311F6:0x80000004{Entity=DR,MessageKind=DATA}|RECEIVE FROM 0x0101D676,0xE92E1D8E,0x91728D11:0x80000003] PRESPsReaderQueue_evaluateSample:serialize failed
ERROR [0x0101BE35,0x47B28D9B,0x87A311F6:0x80000004{Entity=DR,MessageKind=DATA}|RECEIVE FROM 0x0101D676,0xE92E1D8E,0x91728D11:0x80000003] PRESPsReaderQueue_addQueueEntryToPolled:The sample couldn't be evaluated
With a ContentFilteredTopic, the problem only occurred when filtering was done on the DataReader side. The problem did not affect writer-side filtering.
[RTI Issue ID CORE-14539]