[rabbitmq-discuss] CommandAssembler

Ben Hood 0x6e6562 at gmail.com
Fri Nov 18 13:33:29 GMT 2011


Hey Steve,

On Fri, Nov 18, 2011 at 12:50 PM, Steve Powell <steve at rabbitmq.com> wrote:
> By 'this library' do you mean Tracer? Or was this question from another thread?
> (Pun intended).

No, the question is on the current executing thread :-)

To be clear, the code I am talking about is this:
https://github.com/lshift/accent/blob/master/src/test/java/net/lshift/accent/ControlledConnectionProxy.java

It's basically a patched version of the tracer out of the official
Rabbit library, which is why it has your copyright headers on it.

I ran into the issue with the visibility of the assembler when trying
to uprev this patched from ControlledConnectionProxy 2.6.1 to 2.7.0.

> I've not seen races directly related to Tracer or Assembler, but there have been
> some anomalies in shutdown in the Java Client---normally when the channels and
> their connection were explicitly closed on distinct client threads.  Of course
> the lack of thread-safety of the Java client in general might have given rise
> to races.
>
> We'd be happy to look at any evidence of these oddities, if you think we could
> help in diagnosis.

The races I _think_ I have seen have been with the main client
library. However, without being able to reproduce them reliably, I'm
not going to troll a public mailing list with insinuations which are
most likely to be due to bugs in our own code. I was merely asking
whether there was any general background characteristics that caused
you guys to make the library thread safe, or was it just a case of
doing so being the right thing to do.

Cheers,

Ben


More information about the rabbitmq-discuss mailing list