diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/cluster/qourum/SharedNothingBackupQuorum.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/cluster/qourum/SharedNothingBackupQuorum.java index a5f1d8dad3..81b70ad312 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/cluster/qourum/SharedNothingBackupQuorum.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/cluster/qourum/SharedNothingBackupQuorum.java @@ -108,12 +108,17 @@ public class SharedNothingBackupQuorum implements Quorum, SessionFailureListener signal = BACKUP_ACTIVATION.FAIL_OVER; } - if (networkHealthCheck != null && !networkHealthCheck.isEmpty() && networkHealthCheck.check()) { - // live is assumed to be down, backup fails-over - signal = BACKUP_ACTIVATION.FAIL_OVER; - } else { - ActiveMQServerLogger.LOGGER.serverIsolatedOnNetwork(); - signal = BACKUP_ACTIVATION.FAILURE_REPLICATING; + /* use NetworkHealthCheck to determine if node is isolated + * if there are no addresses/urls configured then ignore and rely on quorum vote only + */ + if (networkHealthCheck != null && !networkHealthCheck.isEmpty()) { + if (networkHealthCheck.check()) { + // live is assumed to be down, backup fails-over + signal = BACKUP_ACTIVATION.FAIL_OVER; + } else { + ActiveMQServerLogger.LOGGER.serverIsolatedOnNetwork(); + signal = BACKUP_ACTIVATION.FAILURE_REPLICATING; + } } } latch.countDown();