You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Timothy Bish (JIRA)" <ji...@apache.org> on 2012/11/28 19:45:02 UTC
[jira] [Resolved] (AMQCPP-441) Incorrect propagation of AMQ-2489 to
CMS/C++ (causes performance degradation) in r833769.
[ https://issues.apache.org/jira/browse/AMQCPP-441?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Timothy Bish resolved AMQCPP-441.
---------------------------------
Resolution: Fixed
Fix Version/s: 3.4.6
3.5.0
Code changed on 3.4.x branch and doesn't seem to be an issue on trunk.
> 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
> Fix For: 3.5.0, 3.4.6
>
>
> 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/%3C20091123184303.EBB2D23889C5@eris.apache.org%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