Datawriter blocks during discovery

2 posts / 0 new
Last post
Offline
Last seen: 1 year 11 months ago
Joined: 09/17/2015
Posts: 53
Datawriter blocks during discovery

Hello all

I have two systems connected over WLAN. On both systems around 15 processes using DDS are running.

One process has quite a lot of best effort data writers and readers. It also has one async reliable data writer. If I restart one system the async reliable data writer on the other system blocks multiple times for several hundred milliseconds up to two seconds. So discovery blocks the data writerThis causes problems and I would like to get rid of this blocking.

The datawriter is using a partition only available on the same machine. So it does not communicate with the other system. It only publishes 2-3 short string every 40 milliseconds. So not a lot of data.

Blocking never happens if I don't restart the system. 

What I tried:

  • Setting all kinds of history depth: No change.
  • Reading the article about blocking, checking that no resource limits are set. We use the default settings.
  • Setting max_blocking time to a lower value: This works. But something is broken here. The data writer never throws an exception, so it did not block because if this time out. So why did it block in the first place, and now not anymore? I am afraid samples are lost 

Any ideas?

Best regards,

Andreas

Offline
Last seen: 1 year 11 months ago
Joined: 09/17/2015
Posts: 53

The result of my analysis is, that async. discovery is broken. You should not use if you don't want to have your data writers blocking for several seconds. Also, I found a related problem even with async. discovery disabled:

https://community.rti.com/forum-topic/does-rti-dds-block-when-message-can-not-be-sent-guaranteed-writer-due-no-readers-being