activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brian Moran (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AMQ-2155) ActiveMQ with STOMP producer, multiple consumers -- ActiveMQ doesn't distribute messages to additional consumers.
Date Thu, 23 Apr 2009 17:07:38 GMT

    [ https://issues.apache.org/activemq/browse/AMQ-2155?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=51363#action_51363
] 

Brian Moran commented on AMQ-2155:
----------------------------------

This appears to be related to the activemq.prefetchSize. Messages are also being dispatched
out of order.

With the default prefetchSize (set to 1000 if the online docs are correct), using the code
provided in this report, I do the following:
1) Clear the queues
2) Start one consumer
3) Queue 200 messages, 1 second delay (TestModel(200,1) in the example)
4) Start the 2nd consumer
5)  --- I observe that the 2nd consumer sees NO messages while the first consumer continues
to process messages. EXPECTED BEHAVIOR: 2nd consumer should see messages
6) Queue 50 messages, 2 second delay(TestModel(50,2) in the example)
7) --- I observe that the 1st consumer is working on the original set of messages. The 2nd
consumer starts to process the newly-queued 2-second messages- processing the Messages out
of order. It only processes 1/2 of the messages that were queued (this 1/2 ratio of processed
to queued was observed repeated for various #'s of queued messages
8) When the 2nd consumer stops, queue 4 messages of 3 second delay 
9) Observe that the 2nd consumer processes 2 of the 3 second delay messages, then stops. Also
observe that consumer #1 is still processing 1 second messages: A listing of the messages
in the queue shows gaps in the message sequences where messages have been removed and processed.
ID:shine.local-54798-1240240213473-4:11:-1:1:1432 		Persistent 	0 	false 		2009-04-23 09:56:46:037
PDT 		 Delete
ID:shine.local-54798-1240240213473-4:11:-1:1:1433 		Persistent 	0 	false 		2009-04-23 09:56:46:039
PDT 		Delete
ID:shine.local-54798-1240240213473-4:11:-1:1:1434 		Persistent 	0 	false 		2009-04-23 09:57:30:533
PDT 		Delete
ID:shine.local-54798-1240240213473-4:11:-1:1:1436 		Persistent 	0 	false 		2009-04-23 09:57:30:535
PDT 		Delete
ID:shine.local-54798-1240240213473-4:11:-1:1:1438 		Persistent 	0 	false 		2009-04-23 09:57:30:536
PDT 		Delete
ID:shine.local-54798-1240240213473-4:11:-1:1:1440 		Persistent 	0 	false 		2009-04-23 09:57:30:541
PDT 		Delete
ID:shine.local-54798-1240240213473-4:11:-1:1:1442 		Persistent 	0 	false 		2009-04-23 09:57:30:542
PDT 		Delete
ID:shine.local-54798-1240240213473-4:11:-1:1:1444 		Persistent 	0 	false 		2009-04-23 09:57:30:582
PDT 		Delete
ID:shine.local-54798-1240240213473-4:11:-1:1:1446 		Persistent 	0 	false 		2009-04-23 09:57:30:582
PDT 		Delete
ID:shine.local-54798-1240240213473-4:11:-1:1:1448 		Persistent 	0 	false 		2009-04-23 09:57:30:582
PDT 		Delete
ID:shine.local-54798-1240240213473-4:11:-1:1:1450 		Persistent 	0 	false 		2009-04-23 09:57:30:583
PDT 		Delete
ID:shine.local-54798-1240240213473-4:11:-1:1:1452 		Persistent 	0 	false 		2009-04-23 09:57:30:583
PDT 		Delete
ID:shine.local-54798-1240240213473-4:11:-1:1:1454 		Persistent 	0 	false 		2009-04-23 09:57:30:596
PDT 		Delete
ID:shine.local-54798-1240240213473-4:11:-1:1:1456 		Persistent 	0 	false 		2009-04-23 09:57:30:597
PDT 		Delete
ID:shine.local-54798-1240240213473-4:11:-1:1:1458 		Persistent 	0 	false 		2009-04-23 09:57:30:598
PDT 		Delete
ID:shine.local-54798-1240240213473-4:11:-1:1:1460 		Persistent 	0 	false 		2009-04-23 09:57:30:600
PDT 		Delete
ID:shine.local-54798-1240240213473-4:11:-1:1:1462 		Persistent 	0 	false 		2009-04-23 09:57:30:600
PDT 		Delete
ID:shine.local-54798-1240240213473-4:11:-1:1:1464 		Persistent 	0 	false 		2009-04-23 09:57:30:601
PDT 		Delete
ID:shine.local-54798-1240240213473-4:11:-1:1:1466 		Persistent 	0 	false 		2009-04-23 09:57:30:605
PDT 		Delete
ID:shine.local-54798-1240240213473-4:11:-1:1:1468 		Persistent 	0 	false 		2009-04-23 09:57:30:605
PDT 		Delete
ID:shine.local-54798-1240240213473-4:11:-1:1:1470 		Persistent 	0 	false 		2009-04-23 09:57:30:605
PDT 		Delete
ID:shine.local-54798-1240240213473-4:11:-1:1:1472 		Persistent 	0 	false 		2009-04-23 09:57:30:606
PDT 		Delete
ID:shine.local-54798-1240240213473-4:11:-1:1:1474 		Persistent 	0 	false 		2009-04-23 09:57:30:606
PDT 		Delete
ID:shine.local-54798-1240240213473-4:11:-1:1:1476 		Persistent 	0 	false 		2009-04-23 09:57:30:606
PDT 		Delete
ID:shine.local-54798-1240240213473-4:11:-1:1:1478 		Persistent 	0 	false 		2009-04-23 09:57:30:614
PDT 		Delete
ID:shine.local-54798-1240240213473-4:11:-1:1:1480 		Persistent 	0 	false 		2009-04-23 09:57:30:615
PDT 		Delete
ID:shine.local-54798-1240240213473-4:11:-1:1:1482 		Persistent 	0 	false 		2009-04-23 09:57:30:616
PDT 		Delete
ID:shine.local-54798-1240240213473-4:11:-1:1:1484 		Persistent 	0 	false 		2009-04-23 10:00:21:369
PDT 		Delete
ID:shine.local-54798-1240240213473-4:11:-1:1:1486 		Persistent 	0 	false 		2009-04-23 10:00:21:373
PDT 		Delete

10) Observe that Consumer 1 eventually processes the remaining 2 second and 3 second messages.




 

> ActiveMQ with STOMP producer, multiple consumers -- ActiveMQ doesn't distribute messages
to additional consumers.
> -----------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-2155
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2155
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.1.0, 5.2.0
>         Environment: mac osx; rails 2.1.1; ruby 1.8.6;
>            Reporter: Brian Moran
>            Priority: Critical
>         Attachments: stomplog-1.log
>
>
> Using the stock ActiveMQ 5.2.0 install, with a very small producer and consumer (see
source code here: http://groups.google.com/group/activemessaging-discuss/browse_thread/thread/0b45ae6f030a13af#)
, using client :ack mode;
> Adding additional consumers to a queue results has no affect on message distribution
-- only the originally connected consumers receive the messages UNTIL the queue is empty,
or the original message consumes disconnect. One would LIKE to be able to add additional consumers
for a queue, and have the broker distrubute messages to those consumers -- this does NOT happen
in 5.1.0 and 5.2.0.  
> ALSO, when there are multiple consumers attached to the broker, performance can degrade
so that only one or two consumers are being sent messages. THIS may be related, perhaps not.
> ATTACHED is a dump of the STOMP TRANSPORT trace. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message