We are using create_querycondition to read selective samples from GDS. The query works fine for the 1st 4 samples read. The moment 5th sample is read, the following error is seen:
[D0100|Reader(80000307)|T=TRACK_KINEMATICS_TOPIC|CREATE READCONDITION]DDS_QueryCondition_createI:!create DDS_QueryCondition
because of which, the next sample cannot be read and the follwoing error condition occurs:
[D0100|Reader(80000307)|T=TRACK_KINEMATICS_TOPIC|CREATE READCONDITION]DDS_QueryCondition_createI:!create DDS_QueryCondition
DDSSubscriber_impl::create_read_or_take_w_condition_untypedI:ERROR: Bad parameter: condition
Please specify what can be the cause of error. Also, are there any log files which get created which can be studied for debugging purpose.
Hi,
I think that you are reaching the reader resource limit DDS_DataReaderResourceLimitsQosPolicy::max_query_condition_filters, which determines the maximum number of unique query condition content filters that a reader may create (range [0, 32]). The default value is 4, and therefore failing when trying to create the 5th filter is expected. You can find more information in the RTI Connext DDS online documentation:
https://community.rti.com/static/documentation/connext-dds/5.2.0/doc/api/connext_dds/api_cpp/structDDS__DataReaderResourceLimitsQosPolicy.html#abd0bbad5b44d11f09cd7c4d2a738765b
I have reproduced the error using 5 different query condition content filters. However, I see one error that indicates the origin of the issue before the errors you posted. It is the following:
[1457698514.192998] U0000000000000484 [D0226|Reader(80000007)|T=Example querycondition|CREATE READCONDITION] PRESPsReader_createReadOrQueryConditionI:!create QueryConditionContentFilterCount maximum
Do you see this error message, too? If this is also your case, setting the max_query_condition_filters limit higher will help with your initial problem. However, as you can set this limit as high as 32, you will need to analyze how many different query condition filters you really need in your use case.
Regards,
Sandra