activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Timothy Bish (JIRA)" <>
Subject [jira] [Commented] (AMQCPP-441) Incorrect propagation of AMQ-2489 to CMS/C++ (causes performance degradation) in r833769.
Date Wed, 21 Nov 2012 16:23:58 GMT


Timothy Bish commented on AMQCPP-441:

The consumer code on trunk is located in ActiveMQConsumerKernel.cpp 
> Incorrect propagation of AMQ-2489 to CMS/C++ (causes performance degradation) in r833769.
> -----------------------------------------------------------------------------------------
>                 Key: AMQCPP-441
>                 URL:
>             Project: ActiveMQ C++ Client
>          Issue Type: Bug
>          Components: CMS Impl
>    Affects Versions: 3.4.5
>         Environment: This should repeat in any environment using V3.4.5.
>            Reporter: Sean J Donovan
>            Assignee: Timothy Bish
> With CMS/C++ V3.4.5 (and a snapshot of V3.5.0) I was getting the symptom reported in
AMQ-2489.  I found that this occurs in CMS/C++ when you have a consumer prefetch value of
1 or 2.  The exception doesn't happen when prefetch is > 2.  Although the exception can
be ignored, it **does** affect performance significantly.  
> I did some research, I think there is a bug in how AMQ-2489 was propagated to CMS/C++.
> The problem was introduced here:
>    src/main/activemq/core/ActiveMQConsumer.cpp (r833769)
> The link to that version of the file is here:
> I think that line #595 **shouldn't** exist.  That line is:
>    ackLater( message, ActiveMQConstants::ACK_TYPE_DELIVERED );
> This link contains details on the original Java fix:
> . . . in the code changes to, you'll notice 
> that the following line was **removed**:
>       -                ackLater(md, MessageAck.DELIVERED_ACK_TYPE);
> Thus, I believe the propogation was incorrect.  Fortunately, the fix is simple.  The
code has been refactored for V3.5.0 and I'm not sure where the logic has moved to -- should
be easy to find.
> Sean

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message