You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by gt...@apache.org on 2010/07/27 19:04:30 UTC
svn commit: r979775 -
/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadaptor/KahaTopicReferenceStore.java
Author: gtully
Date: Tue Jul 27 17:04:24 2010
New Revision: 979775
URL: http://svn.apache.org/viewvc?rev=979775&view=rev
Log:
resolve https://issues.apache.org/activemq/browse/AMQ-2850, still needs a kahadb variant
Modified:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadaptor/KahaTopicReferenceStore.java
Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadaptor/KahaTopicReferenceStore.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadaptor/KahaTopicReferenceStore.java?rev=979775&r1=979774&r2=979775&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadaptor/KahaTopicReferenceStore.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadaptor/KahaTopicReferenceStore.java Tue Jul 27 17:04:24 2010
@@ -106,6 +106,10 @@ public class KahaTopicReferenceStore ext
if (LOG.isTraceEnabled()) {
LOG.trace(destination.getPhysicalName() + " add reference: " + messageId);
}
+ } else {
+ if (LOG.isTraceEnabled()) {
+ LOG.trace("no subscribers or duplicate add for: " + messageId);
+ }
}
} finally {
lock.unlock();
@@ -182,8 +186,10 @@ public class KahaTopicReferenceStore ext
if (ackContainer.isEmpty() || subscriberMessages.size() == 1 || isUnreferencedBySubscribers(key, subscriberMessages, messageId)) {
// no message reference held
removeMessage = true;
+ // ensure we don't later add a reference
+ dispatchAudit.isDuplicate(messageId);
if (LOG.isDebugEnabled()) {
- LOG.debug(destination.getPhysicalName() + " remove with no outstanding reference (dup ack): " + messageId);
+ LOG.debug(destination.getPhysicalName() + " remove with no outstanding reference (ack before add): " + messageId);
}
}
}