You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Brian Moran (JIRA)" <ji...@apache.org> on 2009/04/23 19:07:38 UTC

[jira] Commented: (AMQ-2155) ActiveMQ with STOMP producer, multiple consumers -- ActiveMQ doesn't distribute messages to additional consumers.

    [ 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.