Keyed topic - data writer blocks when samples for multiple instances are published parallel

1 post / 0 new
Joined: 05/18/2018
Posts: 1
Keyed topic - data writer blocks when samples for multiple instances are published parallel

I' m trying to implement a strict reliable data stream based on keyed topic. On the topic multiple instances should transfer samples in parallel. So that each instance can be seen as separate data stream.

The idea of using a keyed topic to implement independent streams is based on the VideoStreaming example.

The data type is defined by the following IDL file:

struct Data {
string uid; //@key
unsigned long long size;
unsigned long long error;
unsigned long long packageNumber;
string testData;

For each instance an independent data writer (with own publisher) is used. 

Within the QoS profile of the datawriter the resource_limits for max_samples is set to 1000 and the max_sample_per_instance is set to 100. (The complete QoS profile can be found below)

In my test program I start 8 data writers in parallel. Each data writer publishes samples for a different instance (different key).

For reception of samples different keyed topic readers are used. Each reader is configured to read samples from one instance.


If no samples are read, I would expect each writer to be able to write 100 samples until it blocks.

If I read date from one instance I expect the writer of the corresponding instance to be able to publish new samples. So that each instance is handled independent.


If the data writers publish data, each data writer is able to publish a different number of samples until it blocks. The values seems to have nothing in common with the setting configured via the QoS profile.

If I start reading from one instance, the data writer for this particular instance stays blocked.

Even if I read with parallel readers from all instances it happens sometimes that the data writers blocks before all data is transferred.

Currently I have no idea where the problem comes from. Is my understanding of the QoS profile configuration wrong or did I forget to configure some values?

Best regards


Plain text icon streamqosprofile.txt2.88 KB