mirror of https://github.com/apache/activemq.git
https://issues.apache.org/jira/browse/AMQ-4107 - apply patch - resolved intermittent failure of TwoMulticastDiscoveryBrokerTopicSendReceiveTest
This commit is contained in:
parent
3e007d89a2
commit
8dbb48a23f
|
@ -106,6 +106,7 @@ public class TopicSubscription extends AbstractSubscription {
|
|||
// locator /w the message.
|
||||
node = new IndirectMessageReference(node.getMessage());
|
||||
enqueueCounter.incrementAndGet();
|
||||
synchronized (matchedListMutex) {
|
||||
if (!isFull() && matched.isEmpty()) {
|
||||
// if maximumPendingMessages is set we will only discard messages which
|
||||
// have not been dispatched (i.e. we allow the prefetch buffer to be filled)
|
||||
|
@ -125,7 +126,6 @@ public class TopicSubscription extends AbstractSubscription {
|
|||
if (maximumPendingMessages != 0) {
|
||||
boolean warnedAboutWait = false;
|
||||
while (active) {
|
||||
synchronized (matchedListMutex) {
|
||||
while (matched.isFull()) {
|
||||
if (getContext().getStopping().get()) {
|
||||
LOG.warn("{}: stopped waiting for space in pendingMessage cursor for: {}", toString(), node.getMessageId());
|
||||
|
@ -150,9 +150,6 @@ public class TopicSubscription extends AbstractSubscription {
|
|||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
synchronized (matchedListMutex) {
|
||||
// NOTE - be careful about the slaveBroker!
|
||||
if (maximumPendingMessages > 0) {
|
||||
// calculate the high water mark from which point we
|
||||
// will eagerly evict expired messages
|
||||
|
@ -195,11 +192,11 @@ public class TopicSubscription extends AbstractSubscription {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
dispatchMatched();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isDuplicate(MessageReference node) {
|
||||
boolean duplicate = false;
|
||||
|
|
|
@ -21,7 +21,7 @@ import javax.jms.JMSException;
|
|||
import org.apache.activemq.ActiveMQConnectionFactory;
|
||||
|
||||
/**
|
||||
*
|
||||
* reproduced: https://issues.apache.org/jira/browse/AMQ-4107
|
||||
*/
|
||||
public class TwoMulticastDiscoveryBrokerTopicSendReceiveTest extends TwoBrokerTopicSendReceiveTest {
|
||||
|
||||
|
|
Loading…
Reference in New Issue