[
https://issues.apache.org/jira/browse/AMQCPP-441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13502099#comment-13502099
]
Timothy Bish commented on AMQCPP-441:
-------------------------------------
I removed the ackLater from the code in the 3.4.x branch, the trunk code
doesn't seem to have this issue so it should work fine. I'd recommend that you
try and create a test case if this issue is still occurring so I can look into
it.
> 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
--
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