This is an automated email from the ASF dual-hosted git repository. nigrofranz pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git
The following commit(s) were added to refs/heads/master by this push: new 18d5502 ARTEMIS-1825 Live-backup topology not correctly displayed on console new ef24c0f This closes #2710 18d5502 is described below commit 18d5502d6db298b0a1dc344a69cb49e45d0c33a4 Author: Howard Gao <howard....@gmail.com> AuthorDate: Tue Jun 18 17:36:29 2019 +0800 ARTEMIS-1825 Live-backup topology not correctly displayed on console Second commit. The topology shown on backup's console is not yet correct. This fixes the problem. --- .../src/main/webapp/plugin/js/brokerDiagram.js | 65 +++++++++++++++++----- 1 file changed, 51 insertions(+), 14 deletions(-) diff --git a/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/brokerDiagram.js b/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/brokerDiagram.js index 180c22f..dc7f35d 100644 --- a/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/brokerDiagram.js +++ b/artemis-hawtio/artemis-plugin/src/main/webapp/plugin/js/brokerDiagram.js @@ -448,32 +448,69 @@ var ARTEMIS = (function(ARTEMIS) { ARTEMISService.artemisConsole.getRemoteBrokers(mBean, containerJolokia, onSuccess(function (properties) { remoteBrokers = properties.value; - ARTEMIS.log.info("remoteBrokers=" + angular.toJson(remoteBrokers)) - angular.forEach(angular.fromJson(remoteBrokers), function (remoteBroker) { - if (remoteBroker) { - ARTEMIS.log.info("remote=" + angular.toJson(remoteBroker)) - if (broker.nodeId != remoteBroker.nodeID) { + var remoteBrokersObj = angular.fromJson(remoteBrokers); + + var newBackReq = ARTEMISService.artemisConsole.isBackup(jolokia, mBean); + var newBackup = newBackReq.value; + + angular.forEach(remoteBrokersObj, function (remoteBroker) { + if (broker.nodeId != remoteBroker.nodeID) { + if (remoteBroker.live) { getOrAddBroker(true, "\"" + remoteBroker.live + "\"", remoteBroker.nodeID, "remote", null, properties); - addLinkIds("broker:" + broker.brokerId, "broker:" + "\"" + remoteBroker.live + "\"", "network"); + } + if (remoteBroker.backup) { + getOrAddBroker(false, "\"" + remoteBroker.backup + "\"", remoteBroker.nodeID, "remote", null, properties); + } + } else { + if (!newBackup) { + getOrAddBroker(false, "\"" + remoteBroker.backup + "\"", remoteBroker.nodeID, "remote", null, properties); + } else { + getOrAddBroker(true, "\"" + remoteBroker.live + "\"", remoteBroker.nodeID, "remote", null, properties); + } + } + }); - var backup = remoteBroker.backup; - if (backup) { - getOrAddBroker(false, "\"" + backup + "\"", remoteBroker.nodeID, "remote", null, properties); - addLinkIds("broker:" + "\"" + remoteBroker.live + "\"", "broker:" + "\"" + backup + "\"", "network"); + var processedLiveBrokers = []; + angular.forEach(remoteBrokersObj, function (remoteBroker) { + if (remoteBroker) { + if (remoteBroker.live) { + angular.forEach(processedLiveBrokers, function(livebroker) { + //because the local broker has a different id format we need to identify it + if (broker.nodeId == livebroker.nodeID) { + if (!newBackup) { + addLinkIds("broker:" + broker.brokerId, "broker:" + "\"" + remoteBroker.live + "\"", "network"); + } else { + //I am backup + addLinkIds("broker:" + "\"" + livebroker.live + "\"", "broker:" + "\"" + remoteBroker.live + "\"", "network"); + } + } else if (broker.nodeId == remoteBroker.nodeID) { + if (!newBackup) { + addLinkIds("broker:" + broker.brokerId, "broker:" + "\"" + livebroker.live + "\"", "network"); + } else { + //I am backup + addLinkIds("broker:" + "\"" + livebroker.live + "\"", "broker:" + "\"" + remoteBroker.live + "\"", "network"); + } + } else { + addLinkIds("broker:" + "\"" + livebroker.live + "\"", "broker:" + "\"" + remoteBroker.live + "\"", "network"); + } + }); + processedLiveBrokers.push(remoteBroker); + } + + //now backups + if (broker.nodeId != remoteBroker.nodeID) { + if (remoteBroker.backup) { + addLinkIds("broker:" + "\"" + remoteBroker.live + "\"", "broker:" + "\"" + remoteBroker.backup + "\"", "network"); } } else { - var newBackReq = ARTEMISService.artemisConsole.isBackup(jolokia, mBean); - var newBackup = newBackReq.value; if (!newBackup) { if (remoteBroker.backup) { - getOrAddBroker(false, "\"" + remoteBroker.backup + "\"", remoteBroker.nodeID, "remote", null, properties); addLinkIds("broker:" + broker.brokerId, "broker:" + "\"" + remoteBroker.backup + "\"", "network"); } } else { //I am backup - getOrAddBroker(true, "\"" + remoteBroker.live + "\"", remoteBroker.nodeID, "remote", null, properties); addLinkIds("broker:" + broker.brokerId, "broker:" + "\"" + remoteBroker.live + "\"", "network"); } }