Running into an error while creating a reader that registers a user callback for requested deadline missed
DDS_DeadlineQosPolicy_is_consistentI:inconsistent QoS policy: period
DDS_DataReaderQos_is_consistentI:inconsistent QoS policy: deadline
DDS_Subscriber_create_datareader_disabledI:ERROR: Inconsistent QoS
[timestamp] [app] Exception encountered: Failed to create DataReader
We've implementeded readers and writers and have been using StatusCondition based data callbacks succesfully.
This is a new data reader and using it for the first time for deadline. Internally, the implementation uses a DataReaderListener coupled with a GuardCondition.
m_qos.policy<dds::core::policy::Deadline>(dds::core::policy::Deadline(duration));
The error seems to indicate that something in our DataReader qos definition (xml) is not consistent with the requested deadline value.
Any ideas on how to track it down and fix it?
Hi, are you also using time based filter? Keep in mind that deadline period must be >= minimum_separation.
-Ken
No, I am not using time based filters and so I didnt have to deal with the minimum separation aspect
Hey,
With or without time-based filters, deadline qos requires that:
DataWriter’s DEADLINE period <= the DataReader’s DEADLINE period.
Morning again, yes so I only configured the data reader deadline and did not specify one for the data writer. It was suggested to me that causes the writer to assume deadline=infinity. I'll try this today.
I was wondering if the error message from DDS could have been more descriptive based on the fact that the writer was using unconfigured (default) deadline
Looking at the documentation for DeadlineQosPolicy, I only see the time based filter as a consistency constraint (as Roy mentioned, there's also a compatibility constraint with the DataWriter's deadline).
Can you turn the logging verbosity up to see if you get more information?
-Ken
So the writer deadline is x and reader deadline is 2x, by definition this should have worked but instead it spawns errors for both reader QoS and writer QoS now
DDS_DeadlineQosPolicy_is_consistentI:inconsistent QoS policy: period
DDS_DataWriterQos_is_consistentI:inconsistent QoS policy: deadline
DDS_Publisher_create_datawriter_disabledI:ERROR: Inconsistent QoS
[timestamp] [app] [error] Exception encountered: Failed to create DataWriter
Trying admin console match view analysis without much success since the process prematurely exits on the qos policy error