Sean J Donovan created AMQCPP-441:
-------------------------------------
Summary: Incorrect propagation of AMQ-2489 to CMS/C++ (causes
performance degradation) in r833769.
Key: AMQCPP-441
URL: https://issues.apache.org/jira/browse/AMQCPP-441
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:
http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/ActiveMQConsumer.cpp?revision=883469&view=markup
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:
http://mail-archives.apache.org/mod_mbox/activemq-commits/200911.mbox/%[email protected]%3E
. . . in the code changes to ActiveMQMessageConsumer.java, 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
As proof, compare to the original fix to ActiveMQMessageConsumer.java done in
r833458. In the notes you'll see the following:
- ackLater(md, MessageAck.DELIVERED_ACK_TYPE);
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: http://www.atlassian.com/software/jira