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

David Jencks commented on AMQ-1632:
-----------------------------------

I talked with Hiram a bit and we decided that the real problem was that 
prefetchSize was being calculated wrong.  MDBs instances for an activation spec 
all share a single multithreaded consumer.  So the prefetch size ought to be 
maxMessagesPerSession * maxSessions, so each mdb gets a chance at 
maxMessagesPerSession.  Previously prefetchSize = maxMessagesPerSession which 
resulted in some mdbs never getting a chance to process anything if 
maxMessagesPerSession < maxSessions.

Still haven't looked at trunk.

> PrefetchSubscription may not wake up if messages delivered in transaction
> -------------------------------------------------------------------------
>
>                 Key: AMQ-1632
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1632
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 4.1.1
>            Reporter: David Jencks
>            Assignee: David Jencks
>             Fix For: 4.1.2
>
>
> we noticed mdbs w/transaction on don't work if the prefetch size is less than 
> the number of sessions for the mdb.  There's an error in calculating the 
> prefetchExtension in afterCommit and there's no notification that it might be 
> time to send more messages.  Apparently if the prefetch size is large enough 
> one of the earlier acks triggers delivery of the next batch.
> There are also a bunch of synchronization errors in some classes...

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

Reply via email to