activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From kalki70 <...@pobox.com>
Subject Re: Activemq-cpp and Message Groups malfunction
Date Tue, 01 Dec 2009 17:16:40 GMT



Timothy Bish wrote:
> 
> On Tue, 2009-12-01 at 05:57 -0800, kalki70 wrote:
>> 
>> 
>> kalki70 wrote:
>> > 
>> > Hello,
>> > 
>> > We are having a problem when using Activemq-cpp (version 2.2.6). This
>> > problem happens with Stomp and Openwire.
>> > We create thousands of message groups dynamically : Create a message
>> > group, send several messages, close message group. The producer is a
>> C++
>> > application, the consumer is two instances of JBoss in two different
>> > machines. This "in general" works, but from time to time, in a random
>> way,
>> > the message group that is assigned to one instance of JBoss is switched
>> to
>> > the other instance, as if the previous one had failed.
>> > Example :
>> > * We send a message with some JMSXGroupId, it is sent to JBoss1
>> > * We send several more messages, they are received by JBoss1, as
>> expected.
>> > * We keep sending messages, but now they are received by JBoss2!!??
>> > 
>> > JBoss1 is all the time up and running. The garbage collector didn't
>> work
>> > during the test. This problem happens even with very low load, in a
>> > randomly way. Just sometimes. When we put a very high load, so the
>> > response time from JBoss increases, we start seeing many more of this
>> > "unexpected switching".
>> > We checked the messages sent, to check the JMSXGroupId and JMSXGroupSeq
>> > (we even used a network sniffer to check them) and their values are
>> right. 
>> > 
>> > It looks as if ActiveMQ considers JBoss1 dead, so it switches the
>> message
>> > groups to JBoss2. What is the criteria used by ActiveMQ to consider a
>> > consumer "dead" ? Is there some configuration parameter to increase any
>> > timeout waiting for acknowledge messages from consumers?
>> > 
>> > The strangest part is that if we use a Java application as the
>> producer,
>> > it works perfect. There are never "unexpected switching". We compared
>> the
>> > message properties sent in Java and C++ and they are the same. 
>> > 
>> > We are so far completely lost at this. 
>> > 
>> > Any idea?
>> > 
>> > Thanks,
>> > 
>> > Luis
>> > 
>> 
>> No one has any idea about this problem? We are really stuck with it. May
>> someone recommend some other broker that has a similar functionality, but
>> actually works in C++ ???
>> 
>> Luis
>> 
> 
> Have you tried newer versions of the Broker and C++ client?
> 
> Regards
> Tim.
> 
> We haven't tried a newer version of C++ client, which would be upgrading
> to ActiveMQ-CPP 3.x, as it implies some developing effort, not just
> recompiling the library. Also, there is no indication about a problem like
> this solved in 3.x. I may add that for what I see in forums,  C++ is not
> widely used, so maybe this problem has not been detected before.
> We checked the messages, using the web administration tool for ActiveMQ
> and also with a sniffer, between messages sent from a Java client and from
> a C++ client, to be sure that they are the same, and this problem happens
> only with the C++ client.
> We thought that this could be related to the hash algorithm used in AMQ
> for Message groups (the value for JMSXGroupdId that we use is actually an
> UUID) so we changed the UUID algorithm used in C++ to the equivalent in
> Java, but the problem remains.
> 
> Do you have any idea about when ActiveMQ decides to reassign a Message
> Group ? As I said before, when the consumer takes longer to respond, we
> see a lot more of these issues. I understand that JBoss doesn't
> acknowledge the messages when he consumes them, but when he finish
> processing them, and that can take long under load.
> 
> Best regards,
> 
> Luis
> 
> 
> 
> 
> 
> -- 
> Tim Bish
> http://fusesource.com
> http://timbish.blogspot.com/
> 
> 
> 
> 
> 

-- 
View this message in context: http://old.nabble.com/Activemq-cpp-and-Message-Groups-malfunction-tp26267750p26594256.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Mime
View raw message