activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rudolf Janz <rudolf.j...@gmx.net>
Subject Re: Zero Prefetch Not Working in 5.3.0
Date Thu, 14 Jan 2010 14:37:16 GMT
Issue opened AMQ-2567.

It is non deterministic.  The problem disappears sometimes during  
debugging.
Thanks for the pointers I will do some more debugging.

   Rudolf

Am 14.01.2010 um 15:14 schrieb Gary Tully <gary.tully@gmail.com>:

> can you open an issue for this, I just gave it a whirl (on trunk)  
> and get
> similar but non deterministic results. The second consumer got 6 and  
> 7 on
> two runs.
> PrefetchSubscription and prefetchExtension on a deliveryAck in a  
> transaction
> are areas that you need to look into to resolve this. Great that you  
> have a
> simple junit test case.
>
> 2010/1/14 Rudolf Janz <rudolf.janz@gmx.net>
>
>> Hello,
>>
>> I have problems using a prefetch of Zero. The consumer starts  
>> prefetching
>> messages after some receives.
>>
>> Our use case is, that we have a large computation which is split into
>> smaller sub jobs. These jobs are sent via ActiveMQ to some  
>> processing nodes
>> on different machines. The duration of jobs differs very much (10s  
>> to some
>> minutes). The jobs are sent by decreasing estimated computation  
>> time. If one
>> of the consumers which receives a large job prefetches some other  
>> jobs,
>> these will be processed later. In the meantime the remaining  
>> consumers are
>> idle, and the total computation time is much longer than necessary.
>>
>> I have modified the existing ZeroPrefetchConsumerTest to test for the
>> problem (I have removed the other test methods).
>>
>> Two consumers (C1  and C2) are instantiated. These messages are sent:
>> 1,2,3,4,5,6,7,8,9
>>
>> C1 reads 4 times, receives 1,2,3,4 -> this is correct
>>
>> now C2 reads, it receives 8 not 5, which is the next message in the  
>> queue.
>> The reason is, that C1 prefetched 5, 6, 7, that should not have
>> happened.(sometimes C1 only prefetches 5,6)
>>
>> The problem can be seen in the JMX Console as well, after a while,  
>> the
>> first consumer has more than one dispatched message and the queue  
>> has an
>> InflightCount of 3, although there are only two consumers!
>>
>> I have tried debugging in the ActiveMQConsumer code, but did not  
>> get far.
>> If somebody can give me a pointer where to look, I might give it  
>> another
>> try.
>>
>>  Regards
>>  Rudolf Janz
>>
>>
>>
>>
>
>
> -- 
> http://blog.garytully.com
>
> Open Source Integration
> http://fusesource.com

Mime
View raw message