Incosistent QoS policy error when attempting to set deadline

8 posts / 0 new
Last post
Offline
Last seen: 5 years 10 months ago
Joined: 12/18/2018
Posts: 5
Incosistent QoS policy error when attempting to set deadline

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?

 

 

 

ken
ken's picture
Offline
Last seen: 1 month 3 weeks ago
Joined: 04/13/2011
Posts: 64

Hi, are you also using time based filter? Keep in mind that deadline period must be >= minimum_separation.

-Ken

Offline
Last seen: 5 years 10 months ago
Joined: 12/18/2018
Posts: 5

No, I am not using time based filters and so I didnt have to deal with the minimum separation aspect

Offline
Last seen: 10 months 3 days ago
Joined: 02/11/2016
Posts: 144

Hey,

With or without time-based filters, deadline qos requires that: 

DataWriter’s DEADLINE period <= the DataReader’s DEADLINE period.

 so make sure your writers deadline is set to a period <= reader deadline period.


Good luck,
Roy.
Offline
Last seen: 5 years 10 months ago
Joined: 12/18/2018
Posts: 5

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

ken
ken's picture
Offline
Last seen: 1 month 3 weeks ago
Joined: 04/13/2011
Posts: 64

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

Offline
Last seen: 5 years 10 months ago
Joined: 12/18/2018
Posts: 5

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

 

 

Offline
Last seen: 5 years 10 months ago
Joined: 12/18/2018
Posts: 5

Trying admin console match view analysis without much success since the process prematurely exits on the qos policy error