mirror of https://github.com/apache/activemq.git
AMQ-1950 - fix for slave hang with temp queue creation/deletion
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@700823 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
4d6043aa94
commit
c48c23f47c
|
@ -245,13 +245,13 @@ public class Queue extends BaseDestination implements Task {
|
||||||
if( sub instanceof QueueBrowserSubscription ) {
|
if( sub instanceof QueueBrowserSubscription ) {
|
||||||
((QueueBrowserSubscription)sub).incrementQueueRef();
|
((QueueBrowserSubscription)sub).incrementQueueRef();
|
||||||
}
|
}
|
||||||
if (!this.optimizedDispatch) {
|
if (!(this.optimizedDispatch || isSlave())) {
|
||||||
wakeup();
|
wakeup();
|
||||||
}
|
}
|
||||||
}finally {
|
}finally {
|
||||||
dispatchLock.unlock();
|
dispatchLock.unlock();
|
||||||
}
|
}
|
||||||
if (this.optimizedDispatch) {
|
if (this.optimizedDispatch || isSlave()) {
|
||||||
// Outside of dispatchLock() to maintain the lock hierarchy of
|
// Outside of dispatchLock() to maintain the lock hierarchy of
|
||||||
// iteratingMutex -> dispatchLock. - see https://issues.apache.org/activemq/browse/AMQ-1878
|
// iteratingMutex -> dispatchLock. - see https://issues.apache.org/activemq/browse/AMQ-1878
|
||||||
wakeup();
|
wakeup();
|
||||||
|
@ -307,13 +307,13 @@ public class Queue extends BaseDestination implements Task {
|
||||||
if (consumers.isEmpty()) {
|
if (consumers.isEmpty()) {
|
||||||
messages.gc();
|
messages.gc();
|
||||||
}
|
}
|
||||||
if (!this.optimizedDispatch) {
|
if (!(this.optimizedDispatch || isSlave())) {
|
||||||
wakeup();
|
wakeup();
|
||||||
}
|
}
|
||||||
}finally {
|
}finally {
|
||||||
dispatchLock.unlock();
|
dispatchLock.unlock();
|
||||||
}
|
}
|
||||||
if (this.optimizedDispatch) {
|
if (this.optimizedDispatch || isSlave()) {
|
||||||
// Outside of dispatchLock() to maintain the lock hierarchy of
|
// Outside of dispatchLock() to maintain the lock hierarchy of
|
||||||
// iteratingMutex -> dispatchLock. - see https://issues.apache.org/activemq/browse/AMQ-1878
|
// iteratingMutex -> dispatchLock. - see https://issues.apache.org/activemq/browse/AMQ-1878
|
||||||
wakeup();
|
wakeup();
|
||||||
|
|
Loading…
Reference in New Issue