You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Gary Tully (JIRA)" <ji...@apache.org> on 2008/08/29 10:26:52 UTC

[jira] Resolved: (AMQ-1917) Broker Client with spring jmsTemplate drops messages (if reveiveTimeout is used) or blocks (if receiveTimeout is not specified.) under heavy load.

     [ https://issues.apache.org/activemq/browse/AMQ-1917?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gary Tully resolved AMQ-1917.
-----------------------------

    Resolution: Fixed

fixed in rev 690144

Problem: new messages paged in during addSubscription() doPageIn() may not get dispatched using the recovery dispatch mechanism if selectors are present. These messages need to be remembered in the pagedInPendingDispatch list. hense the fix.
Initial though was to always add newly pagedIn messages to the pagedInPending but this breaks QueueBrowsing which depends on the recoveryDispatch, and results in duplicates on the browse queue which breaks the enumeration.
QueueBrowsing may need some separate treatment at a later date.

for future reference, the relevant subset of tests are:
mvn -o test -Dtest=JmsQueueWildcardSendReceiveTest,JMSUsecaseTest,JmsQueueCompositeSendReceiveTest,LargeStreamletTest,MessageListenerRedeliveryTest,PublishOnQueueConsumedMessageInTransactionTest,MarshallingBrokerTest,AMQ1917Test,CursorQueueStoreTest,JmsTempDestinationTest,RollbacksWhileConsumingLargeQueueTest,StompTest

> Broker Client with spring jmsTemplate drops messages (if reveiveTimeout is used) or blocks (if receiveTimeout is not specified.) under heavy load.
> --------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-1917
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1917
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.1.0
>         Environment: all
>            Reporter: Gary Tully
>            Assignee: Gary Tully
>             Fix For: 5.2.0
>
>
> doing request reply with spring jms template results in a hang or loss of messages when there are multiple concurrent requests, ie: when under load.
> the problem is seen with servicemix-jms jmsProviderEndpoint which uses spring jmsTemplate based client to talk to ActiveMQ and blocks under heavy load after certain time on receiving message. Message can be seen on the queue but sprinjms based client using receiveSelected() call to receive message based on JMSCorrelationID based selector waits for the message and eventually will timeout (if one set) or block indefinitely. 

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