take

2 posts / 0 new
Last post
Ucf bader's picture
Offline
Last seen: 1 year 3 months ago
Joined: 03/10/2021
Posts: 2
Concurrent threads limitation collecting dynamic data

Hello,

I have written code that periodically takes specific number of samples (complex data) each time. I am traversing the received samples to collect dynamic data (read only) building a json object that will be sent to a db.
I am facing a series issue with network blocking/delay.

My assumption is that several concurrent threads (take thread and other conversion threads) are accessing the rti infrastructure resulting some sort of network blocking.

Further info:
I've got several threads:

1) Thread responsible for the take operation.

2 posts / 0 new
Last post
Offline
Last seen: 7 years 10 months ago
Joined: 12/26/2016
Posts: 2
take_next_sample stucks

Hello,

In my code I don't always want my system to handle an incoming message just at that moment, so I create signals and that sort of things in the listeners to wake up appropriate mechanisms in the code. And when I handle these messages (I mean taking data from the datareader) I use take_next_sample method. But, unfortunately, after 1 or 2 messages, this method stucks giving no error. When I look at deeply, I saw that take_next_sample method tries to lock some database mutex and waits for the mutex (probably a deadlock or sth.). -- micro 2.4.7

2 posts / 0 new
Last post
Offline
Last seen: 2 years 7 months ago
Joined: 01/27/2014
Posts: 22
Critical sections between datareader operations

Hello,

We got a datareader receiving every 100 milliseconds (it's a mean value) batches of 100 samples each of the samples are 60 bytes in size. The datareader max_samples is 1000.

A thread takes samples into the datareader 100 by 100, using loaning function.

We observe that most of the time the "take" operation takes less than 200 microsecond but sometime (rarely) the "take" operation can takes as much as 3-6 milliseconds to return the loaned buffer.

Organization:
Subscribe to RSS - take