You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by cs...@apache.org on 2017/11/16 12:46:27 UTC
activemq git commit: (AMQ-6858) - add extra precautionary check for
demand subs
Repository: activemq
Updated Branches:
refs/heads/master 2e3a7f611 -> 08aa5118f
(AMQ-6858) - add extra precautionary check for demand subs
also remove test that intermittently fails with timing issues
Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/08aa5118
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/08aa5118
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/08aa5118
Branch: refs/heads/master
Commit: 08aa5118ffcd8dfc4ec813d799a61ef1ee4421d1
Parents: 2e3a7f6
Author: Christopher L. Shannon (cshannon) <ch...@gmail.com>
Authored: Thu Nov 16 07:44:33 2017 -0500
Committer: Christopher L. Shannon (cshannon) <ch...@gmail.com>
Committed: Thu Nov 16 07:44:33 2017 -0500
----------------------------------------------------------------------
.../apache/activemq/network/ConduitBridge.java | 3 ++-
.../network/DemandForwardingBridgeSupport.java | 3 ++-
.../DurableFiveBrokerNetworkBridgeTest.java | 23 +-------------------
3 files changed, 5 insertions(+), 24 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq/blob/08aa5118/activemq-broker/src/main/java/org/apache/activemq/network/ConduitBridge.java
----------------------------------------------------------------------
diff --git a/activemq-broker/src/main/java/org/apache/activemq/network/ConduitBridge.java b/activemq-broker/src/main/java/org/apache/activemq/network/ConduitBridge.java
index 70f45f7..a4b5072 100644
--- a/activemq-broker/src/main/java/org/apache/activemq/network/ConduitBridge.java
+++ b/activemq-broker/src/main/java/org/apache/activemq/network/ConduitBridge.java
@@ -83,7 +83,8 @@ public class ConduitBridge extends DemandForwardingBridge {
} else {
//Handle the demand generated by proxy network subscriptions
//The broker path is case is normal
- if (isProxyNSConsumerBrokerPath(info)) {
+ if (isProxyNSConsumerBrokerPath(info) &&
+ info.getSubscriptionName() != null && info.getSubscriptionName().startsWith(DURABLE_SUB_PREFIX)) {
final BrokerId[] path = info.getBrokerPath();
addProxyNetworkSubscriptionBrokerPath(ds, path, info.getSubscriptionName());
//This is the durable sync case on broker restart
http://git-wip-us.apache.org/repos/asf/activemq/blob/08aa5118/activemq-broker/src/main/java/org/apache/activemq/network/DemandForwardingBridgeSupport.java
----------------------------------------------------------------------
diff --git a/activemq-broker/src/main/java/org/apache/activemq/network/DemandForwardingBridgeSupport.java b/activemq-broker/src/main/java/org/apache/activemq/network/DemandForwardingBridgeSupport.java
index df493c3..dd7716f 100644
--- a/activemq-broker/src/main/java/org/apache/activemq/network/DemandForwardingBridgeSupport.java
+++ b/activemq-broker/src/main/java/org/apache/activemq/network/DemandForwardingBridgeSupport.java
@@ -1432,7 +1432,8 @@ public abstract class DemandForwardingBridgeSupport implements NetworkBridge, Br
if (consumerInfo.isDurable()) {
//Handle the demand generated by proxy network subscriptions
//The broker path is case is normal
- if (isProxyNSConsumerBrokerPath(sub.getRemoteInfo())) {
+ if (isProxyNSConsumerBrokerPath(sub.getRemoteInfo()) &&
+ info.getSubscriptionName() != null && info.getSubscriptionName().startsWith(DURABLE_SUB_PREFIX)) {
final BrokerId[] path = info.getBrokerPath();
addProxyNetworkSubscriptionBrokerPath(sub, path, consumerInfo.getSubscriptionName());
//This is the durable sync case on broker restart
http://git-wip-us.apache.org/repos/asf/activemq/blob/08aa5118/activemq-unit-tests/src/test/java/org/apache/activemq/network/DurableFiveBrokerNetworkBridgeTest.java
----------------------------------------------------------------------
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/network/DurableFiveBrokerNetworkBridgeTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/network/DurableFiveBrokerNetworkBridgeTest.java
index 5bbd8b8..fe07ac3 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/network/DurableFiveBrokerNetworkBridgeTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/network/DurableFiveBrokerNetworkBridgeTest.java
@@ -63,30 +63,15 @@ public class DurableFiveBrokerNetworkBridgeTest extends JmsMultipleBrokersTestSu
return connector;
}
- public void testDurablePropagationBrokerRestartDuplex() throws Exception {
+ public void testDurablePropagationBrokerRestart() throws Exception {
duplex = true;
- testDurablePropagationBrokerRestart();
- }
- public void testDurablePropagationBrokerRestartOneWay() throws Exception {
- duplex = false;
- testDurablePropagationBrokerRestart();
- }
-
- protected void testDurablePropagationBrokerRestart() throws Exception {
// Setup broker networks
bridgeBrokers("Broker_A_A", "Broker_B_B");
bridgeBrokers("Broker_B_B", "Broker_C_C");
bridgeBrokers("Broker_C_C", "Broker_D_D");
bridgeBrokers("Broker_D_D", "Broker_E_E");
- if (!duplex) {
- bridgeBrokers("Broker_B_B", "Broker_A_A");
- bridgeBrokers("Broker_C_C", "Broker_B_B");
- bridgeBrokers("Broker_D_D", "Broker_C_C");
- bridgeBrokers("Broker_E_E", "Broker_D_D");
- }
-
startAllBrokers();
// Setup destination
@@ -139,12 +124,6 @@ public class DurableFiveBrokerNetworkBridgeTest extends JmsMultipleBrokersTestSu
bridgeBrokers("Broker_B_B", "Broker_C_C");
bridgeBrokers("Broker_C_C", "Broker_D_D");
bridgeBrokers("Broker_D_D", "Broker_E_E");
- if (!duplex) {
- bridgeBrokers("Broker_B_B", "Broker_A_A");
- bridgeBrokers("Broker_C_C", "Broker_B_B");
- bridgeBrokers("Broker_D_D", "Broker_C_C");
- bridgeBrokers("Broker_E_E", "Broker_D_D");
- }
startAllBrokers();