ClusterLabs/libqb

Question : About correction of ringbuffer process.

HideoYamauchi opened this issue · 2 comments

Hi All,

We are a little worried about the next fix.

When this problem occurs, it seems that the receiving process of the IPC server processes the same data and loops.

This modification seems to be detailed in Bugzilla of RH, but we can not see its contents.
How can you reproduce this problem? Also, is there a possibility that this event will occur normally?

Best Regards,
Hideo Yamauchi.

Hi,

The problem has only been known to occur when a client uses the same IPC channel from multiple threads simultaneously. The only client we know of that did that was clvmd, so mutexes were added to that code, and this back-stop was added to libqb. So unless you've written your own client that is multi threaded AND accesses the same IPC in more than one thread you shouldn't hit the problem - or if you do, you should deal with EBADMSG ;-)

I did think about how to actually fix this in libqb but it turns out to be a ridiculous thing to do (IMHO). The correct way to do multithreaded connections to a server is to have a separate connection per thread, then you can be sure that the requests and replies to not interleave.

Hi Christine,

All right!
We do not use such a bad client.

Thank you!

Hideo Yamauhci.