You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ta...@apache.org on 2018/03/15 20:49:49 UTC
qpid-jms git commit: QPIDJMS-365 Prevent multiple reconnect tasks
from being triggered
Repository: qpid-jms
Updated Branches:
refs/heads/master daec04641 -> 339781205
QPIDJMS-365 Prevent multiple reconnect tasks from being triggered
Ensure that the reconnect handler doesn't queue up a new attempt by
mistake when handling potential errors.
Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/33978120
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/33978120
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/33978120
Branch: refs/heads/master
Commit: 33978120535a45fa30ae3b01749cda886d56a7b4
Parents: daec046
Author: Timothy Bish <ta...@gmail.com>
Authored: Thu Mar 15 16:49:33 2018 -0400
Committer: Timothy Bish <ta...@gmail.com>
Committed: Thu Mar 15 16:49:33 2018 -0400
----------------------------------------------------------------------
.../qpid/jms/provider/failover/FailoverProvider.java | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/33978120/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/failover/FailoverProvider.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/failover/FailoverProvider.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/failover/FailoverProvider.java
index 25a6739..3f3fb1b 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/failover/FailoverProvider.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/failover/FailoverProvider.java
@@ -670,6 +670,7 @@ public class FailoverProvider extends DefaultProviderListener implements Provide
}
Throwable failure = null;
+ Provider provider = null;
long reconnectAttempts = reconnectControl.recordNextAttempt();
@@ -682,7 +683,6 @@ public class FailoverProvider extends DefaultProviderListener implements Provide
continue;
}
- Provider provider = null;
try {
LOG.debug("Connection attempt:[{}] to: {} in-progress", reconnectAttempts, target);
provider = ProviderFactory.create(target);
@@ -695,6 +695,7 @@ public class FailoverProvider extends DefaultProviderListener implements Provide
try {
if (provider != null) {
provider.close();
+ provider = null;
}
} catch (Throwable ex) {}
}
@@ -708,7 +709,8 @@ public class FailoverProvider extends DefaultProviderListener implements Provide
LOG.info("Connection attempt:[{}] failed abnormally.", reconnectAttempts);
failure = failure == null ? unknownFailure : failure;
} finally {
- if (failure != null) {
+ if (provider == null) {
+ LOG.trace("Connection attempt:[{}] failed error: {}", reconnectControl.reconnectAttempts, failure.getMessage());
if (reconnectControl.isLimitExceeded()) {
reportReconnectFailure(failure);
} else {
@@ -815,6 +817,9 @@ public class FailoverProvider extends DefaultProviderListener implements Provide
private void processAlternates(List<URI> alternates) {
if (!alternates.isEmpty()) {
List<URI> newRemotes = new ArrayList<URI>(alternates);
+
+ LOG.debug("Processing alternates uris:{} with new set: {}", uris, newRemotes);
+
switch (amqpOpenServerListAction) {
case ADD:
try {
@@ -841,6 +846,8 @@ public class FailoverProvider extends DefaultProviderListener implements Provide
// Shouldn't get here, but do nothing if we do.
break;
}
+
+ LOG.debug("Processing alternates done new uris:{}", uris);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org