resolve AMQ-2210|https://issues.apache.org/activemq/browse/AMQ-2210, in hindsight, it does not make sense to wait for dispatch in anycase as the message will always get replayed at some stage. an un dispatched ack is expected in this case so it is correct to ignore it. Revert wait from AMQ-2149|https://issues.apache.org/activemq/browse/AMQ-2149

git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@765921 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Gary Tully 2009-04-17 09:36:51 +00:00
parent 7ae174f4f8
commit 4e0609f5cb
1 changed files with 4 additions and 2 deletions

View File

@ -192,8 +192,10 @@ public abstract class PrefetchSubscription extends AbstractSubscription {
Destination destination = null;
if (!isSlave()) {
while(!okForAckAsDispatchDone.await(100, TimeUnit.MILLISECONDS)) {
LOG.warn("Ack before disaptch, waiting for recovery dispatch: " + ack);
if (!okForAckAsDispatchDone.await(0l, TimeUnit.MILLISECONDS)) {
// suppress unexpected ack exception in this expected case
LOG.warn("Ignoring ack received before dispatch; result of failover with an outstanding ack. Acked messages will be replayed if present on this broker. Ignored ack: " + ack);
return;
}
}
if (LOG.isTraceEnabled()) {