[ 
https://issues.apache.org/jira/browse/ARTEMIS-3138?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Francesco Nigro updated ARTEMIS-3138:
-------------------------------------
    Description: 
While starting a shared nothing master broker configured with discovery it 
performs discovery operations that could end up connecting the broker to itself.

 The discoveries happen in different code paths:
 * while checking for other live servers, on broker start
 * on cluster manager deploy

The discovered connectors include the broker own one sent by itself with 
broadcasting, but, for some reason (explained below), they won't be filtered 
out.

The existing logic to filter out connectors is based on the Node ID source of 
the broadcast event vs the one set on the local server locator.
 
The former case won't end up connecting the broker to itself, because the 
broker acceptors are still closed and won't accept any connection, while the 
latter yes and the established connection remain alive for the whole broker 
life-time.

The relevant stack traces are:
{code:java}
        at 
org.apache.activemq.artemis.core.cluster.DiscoveryGroup.<init>(DiscoveryGroup.java:96)
        at 
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createDiscoveryGroup(ServerLocatorImpl.java:298)
        at 
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.startDiscovery(ServerLocatorImpl.java:275)
        at 
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.initialize(ServerLocatorImpl.java:263)
        at 
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:650)
        at 
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.connect(ServerLocatorImpl.java:549)
        at 
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.connectNoWarnings(ServerLocatorImpl.java:555)
        at 
org.apache.activemq.artemis.core.server.impl.SharedNothingLiveActivation.isNodeIdUsed(SharedNothingLiveActivation.java:331)
        at 
org.apache.activemq.artemis.core.server.impl.SharedNothingLiveActivation.run(SharedNothingLiveActivation.java:102)
        at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.internalStart(ActiveMQServerImpl.java:634)
        at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.start(ActiveMQServerImpl.java:558)
        at 
org.apache.activemq.artemis.integration.FileBroker.start(FileBroker.java:64)
        at org.apache.activemq.artemis.cli.commands.Run.execute(Run.java:115)
        at 
org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:154)
        at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:102)
        at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:129)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.activemq.artemis.boot.Artemis.execute(Artemis.java:134)
        at org.apache.activemq.artemis.boot.Artemis.main(Artemis.java:50)
{code}
 And
{code:java}
        at 
org.apache.activemq.artemis.core.cluster.DiscoveryGroup.<init>(DiscoveryGroup.java:96)
        at 
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createDiscoveryGroup(ServerLocatorImpl.java:298)
        at 
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.startDiscovery(ServerLocatorImpl.java:275)
        at 
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.initialize(ServerLocatorImpl.java:263)
        at 
org.apache.activemq.artemis.core.server.cluster.ClusterController.configAndAdd(ClusterController.java:230)
        at 
org.apache.activemq.artemis.core.server.cluster.ClusterController.addClusterConnection(ClusterController.java:197)
        at 
org.apache.activemq.artemis.core.server.cluster.ClusterManager.deployClusterConnection(ClusterManager.java:612)
        at 
org.apache.activemq.artemis.core.server.cluster.ClusterManager.deploy(ClusterManager.java:245)
        at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.initialisePart1(ActiveMQServerImpl.java:3066)
        at 
org.apache.activemq.artemis.core.server.impl.SharedNothingLiveActivation.run(SharedNothingLiveActivation.java:114)
        at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.internalStart(ActiveMQServerImpl.java:634)
        at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.start(ActiveMQServerImpl.java:558)
        at 
org.apache.activemq.artemis.integration.FileBroker.start(FileBroker.java:64)
        at org.apache.activemq.artemis.cli.commands.Run.execute(Run.java:115)
        at 
org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:154)
        at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:102)
        at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:129)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.activemq.artemis.boot.Artemis.execute(Artemis.java:134)
        at org.apache.activemq.artemis.boot.Artemis.main(Artemis.java:50)
{code}

On both cases, the same broker transport isn't ignored because the discovery 
has been started with a randomly generated Node ID on the server locator, 
instead of using the broker real Node ID.

The subsequent cluster manager start, instead, set the broker Node ID on the 
sever locator while its cluster connection is activated and that's why it 
ignores its same connector.
The relevant stack trace is:
{code:java}
        at 
org.apache.activemq.artemis.core.cluster.DiscoveryGroup.<init>(DiscoveryGroup.java:96)
        at 
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createDiscoveryGroup(ServerLocatorImpl.java:298)
        at 
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.startDiscovery(ServerLocatorImpl.java:275)
        at 
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.initialize(ServerLocatorImpl.java:263)
        at 
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.start(ServerLocatorImpl.java:477)
        at 
org.apache.activemq.artemis.core.server.cluster.impl.ClusterConnectionImpl.activate(ClusterConnectionImpl.java:680)
        at 
org.apache.activemq.artemis.core.server.cluster.impl.ClusterConnectionImpl.start(ClusterConnectionImpl.java:399)
        at 
org.apache.activemq.artemis.core.server.cluster.ClusterManager.start(ClusterManager.java:270)
        at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.initialisePart2(ActiveMQServerImpl.java:3225)
        at 
org.apache.activemq.artemis.core.server.impl.SharedNothingLiveActivation.run(SharedNothingLiveActivation.java:118)
        at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.internalStart(ActiveMQServerImpl.java:634)
        at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.start(ActiveMQServerImpl.java:558)
        at 
org.apache.activemq.artemis.integration.FileBroker.start(FileBroker.java:64)
        at org.apache.activemq.artemis.cli.commands.Run.execute(Run.java:115)
        at 
org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:154)
        at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:102)
        at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:129)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.activemq.artemis.boot.Artemis.execute(Artemis.java:134)
        at org.apache.activemq.artemis.boot.Artemis.main(Artemis.java:50)
{code}

  was:
While starting a shared nothing master broker configured with discovery it 
performs discovery operations that could end up connecting the broker to itself.

 The discoveries happen in different code paths:
 * while checking for other live servers, on broker start
 * on cluster manager deploy

The discovered connectors include the broker own one sent by itself with 
broadcasting, but, for some reason (explained below), they won't be filtered 
out.

The existing logic to filter out connectors is based on the Node ID source of 
the broadcast event vs the one on the local server locator.
 
The former case won't end up connecting the broker to itself, because the 
broker acceptors are still closed and won't accept any connection, while the 
latter yes and the established connection remain alive for the whole broker 
life-time.

The relevant stack traces are:
{code:java}
        at 
org.apache.activemq.artemis.core.cluster.DiscoveryGroup.<init>(DiscoveryGroup.java:96)
        at 
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createDiscoveryGroup(ServerLocatorImpl.java:298)
        at 
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.startDiscovery(ServerLocatorImpl.java:275)
        at 
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.initialize(ServerLocatorImpl.java:263)
        at 
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:650)
        at 
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.connect(ServerLocatorImpl.java:549)
        at 
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.connectNoWarnings(ServerLocatorImpl.java:555)
        at 
org.apache.activemq.artemis.core.server.impl.SharedNothingLiveActivation.isNodeIdUsed(SharedNothingLiveActivation.java:331)
        at 
org.apache.activemq.artemis.core.server.impl.SharedNothingLiveActivation.run(SharedNothingLiveActivation.java:102)
        at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.internalStart(ActiveMQServerImpl.java:634)
        at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.start(ActiveMQServerImpl.java:558)
        at 
org.apache.activemq.artemis.integration.FileBroker.start(FileBroker.java:64)
        at org.apache.activemq.artemis.cli.commands.Run.execute(Run.java:115)
        at 
org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:154)
        at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:102)
        at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:129)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.activemq.artemis.boot.Artemis.execute(Artemis.java:134)
        at org.apache.activemq.artemis.boot.Artemis.main(Artemis.java:50)
{code}
 And
{code:java}
        at 
org.apache.activemq.artemis.core.cluster.DiscoveryGroup.<init>(DiscoveryGroup.java:96)
        at 
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createDiscoveryGroup(ServerLocatorImpl.java:298)
        at 
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.startDiscovery(ServerLocatorImpl.java:275)
        at 
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.initialize(ServerLocatorImpl.java:263)
        at 
org.apache.activemq.artemis.core.server.cluster.ClusterController.configAndAdd(ClusterController.java:230)
        at 
org.apache.activemq.artemis.core.server.cluster.ClusterController.addClusterConnection(ClusterController.java:197)
        at 
org.apache.activemq.artemis.core.server.cluster.ClusterManager.deployClusterConnection(ClusterManager.java:612)
        at 
org.apache.activemq.artemis.core.server.cluster.ClusterManager.deploy(ClusterManager.java:245)
        at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.initialisePart1(ActiveMQServerImpl.java:3066)
        at 
org.apache.activemq.artemis.core.server.impl.SharedNothingLiveActivation.run(SharedNothingLiveActivation.java:114)
        at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.internalStart(ActiveMQServerImpl.java:634)
        at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.start(ActiveMQServerImpl.java:558)
        at 
org.apache.activemq.artemis.integration.FileBroker.start(FileBroker.java:64)
        at org.apache.activemq.artemis.cli.commands.Run.execute(Run.java:115)
        at 
org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:154)
        at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:102)
        at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:129)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.activemq.artemis.boot.Artemis.execute(Artemis.java:134)
        at org.apache.activemq.artemis.boot.Artemis.main(Artemis.java:50)
{code}

On both cases, the same broker transport isn't ignored because the discovery 
has been started with a randomly generated Node ID on the server locator, 
instead of using the broker real Node ID.

The subsequent cluster manager start, instead, set the broker Node ID on the 
sever locator while its cluster connection is activated and that's why it 
ignores its same connector.
The relevant stack trace is:
{code:java}
        at 
org.apache.activemq.artemis.core.cluster.DiscoveryGroup.<init>(DiscoveryGroup.java:96)
        at 
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createDiscoveryGroup(ServerLocatorImpl.java:298)
        at 
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.startDiscovery(ServerLocatorImpl.java:275)
        at 
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.initialize(ServerLocatorImpl.java:263)
        at 
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.start(ServerLocatorImpl.java:477)
        at 
org.apache.activemq.artemis.core.server.cluster.impl.ClusterConnectionImpl.activate(ClusterConnectionImpl.java:680)
        at 
org.apache.activemq.artemis.core.server.cluster.impl.ClusterConnectionImpl.start(ClusterConnectionImpl.java:399)
        at 
org.apache.activemq.artemis.core.server.cluster.ClusterManager.start(ClusterManager.java:270)
        at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.initialisePart2(ActiveMQServerImpl.java:3225)
        at 
org.apache.activemq.artemis.core.server.impl.SharedNothingLiveActivation.run(SharedNothingLiveActivation.java:118)
        at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.internalStart(ActiveMQServerImpl.java:634)
        at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.start(ActiveMQServerImpl.java:558)
        at 
org.apache.activemq.artemis.integration.FileBroker.start(FileBroker.java:64)
        at org.apache.activemq.artemis.cli.commands.Run.execute(Run.java:115)
        at 
org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:154)
        at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:102)
        at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:129)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.activemq.artemis.boot.Artemis.execute(Artemis.java:134)
        at org.apache.activemq.artemis.boot.Artemis.main(Artemis.java:50)
{code}


> Shared Nothing Live broker shouldn't try to connect to itself
> -------------------------------------------------------------
>
>                 Key: ARTEMIS-3138
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-3138
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>            Reporter: Francesco Nigro
>            Priority: Major
>          Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> While starting a shared nothing master broker configured with discovery it 
> performs discovery operations that could end up connecting the broker to 
> itself.
>  The discoveries happen in different code paths:
>  * while checking for other live servers, on broker start
>  * on cluster manager deploy
> The discovered connectors include the broker own one sent by itself with 
> broadcasting, but, for some reason (explained below), they won't be filtered 
> out.
> The existing logic to filter out connectors is based on the Node ID source of 
> the broadcast event vs the one set on the local server locator.
>  
> The former case won't end up connecting the broker to itself, because the 
> broker acceptors are still closed and won't accept any connection, while the 
> latter yes and the established connection remain alive for the whole broker 
> life-time.
> The relevant stack traces are:
> {code:java}
>       at 
> org.apache.activemq.artemis.core.cluster.DiscoveryGroup.<init>(DiscoveryGroup.java:96)
>       at 
> org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createDiscoveryGroup(ServerLocatorImpl.java:298)
>       at 
> org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.startDiscovery(ServerLocatorImpl.java:275)
>       at 
> org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.initialize(ServerLocatorImpl.java:263)
>       at 
> org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:650)
>       at 
> org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.connect(ServerLocatorImpl.java:549)
>       at 
> org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.connectNoWarnings(ServerLocatorImpl.java:555)
>       at 
> org.apache.activemq.artemis.core.server.impl.SharedNothingLiveActivation.isNodeIdUsed(SharedNothingLiveActivation.java:331)
>       at 
> org.apache.activemq.artemis.core.server.impl.SharedNothingLiveActivation.run(SharedNothingLiveActivation.java:102)
>       at 
> org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.internalStart(ActiveMQServerImpl.java:634)
>       at 
> org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.start(ActiveMQServerImpl.java:558)
>       at 
> org.apache.activemq.artemis.integration.FileBroker.start(FileBroker.java:64)
>       at org.apache.activemq.artemis.cli.commands.Run.execute(Run.java:115)
>       at 
> org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:154)
>       at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:102)
>       at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:129)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at org.apache.activemq.artemis.boot.Artemis.execute(Artemis.java:134)
>       at org.apache.activemq.artemis.boot.Artemis.main(Artemis.java:50)
> {code}
>  And
> {code:java}
>       at 
> org.apache.activemq.artemis.core.cluster.DiscoveryGroup.<init>(DiscoveryGroup.java:96)
>       at 
> org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createDiscoveryGroup(ServerLocatorImpl.java:298)
>       at 
> org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.startDiscovery(ServerLocatorImpl.java:275)
>       at 
> org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.initialize(ServerLocatorImpl.java:263)
>       at 
> org.apache.activemq.artemis.core.server.cluster.ClusterController.configAndAdd(ClusterController.java:230)
>       at 
> org.apache.activemq.artemis.core.server.cluster.ClusterController.addClusterConnection(ClusterController.java:197)
>       at 
> org.apache.activemq.artemis.core.server.cluster.ClusterManager.deployClusterConnection(ClusterManager.java:612)
>       at 
> org.apache.activemq.artemis.core.server.cluster.ClusterManager.deploy(ClusterManager.java:245)
>       at 
> org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.initialisePart1(ActiveMQServerImpl.java:3066)
>       at 
> org.apache.activemq.artemis.core.server.impl.SharedNothingLiveActivation.run(SharedNothingLiveActivation.java:114)
>       at 
> org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.internalStart(ActiveMQServerImpl.java:634)
>       at 
> org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.start(ActiveMQServerImpl.java:558)
>       at 
> org.apache.activemq.artemis.integration.FileBroker.start(FileBroker.java:64)
>       at org.apache.activemq.artemis.cli.commands.Run.execute(Run.java:115)
>       at 
> org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:154)
>       at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:102)
>       at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:129)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at org.apache.activemq.artemis.boot.Artemis.execute(Artemis.java:134)
>       at org.apache.activemq.artemis.boot.Artemis.main(Artemis.java:50)
> {code}
> On both cases, the same broker transport isn't ignored because the discovery 
> has been started with a randomly generated Node ID on the server locator, 
> instead of using the broker real Node ID.
> The subsequent cluster manager start, instead, set the broker Node ID on the 
> sever locator while its cluster connection is activated and that's why it 
> ignores its same connector.
> The relevant stack trace is:
> {code:java}
>       at 
> org.apache.activemq.artemis.core.cluster.DiscoveryGroup.<init>(DiscoveryGroup.java:96)
>       at 
> org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createDiscoveryGroup(ServerLocatorImpl.java:298)
>       at 
> org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.startDiscovery(ServerLocatorImpl.java:275)
>       at 
> org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.initialize(ServerLocatorImpl.java:263)
>       at 
> org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.start(ServerLocatorImpl.java:477)
>       at 
> org.apache.activemq.artemis.core.server.cluster.impl.ClusterConnectionImpl.activate(ClusterConnectionImpl.java:680)
>       at 
> org.apache.activemq.artemis.core.server.cluster.impl.ClusterConnectionImpl.start(ClusterConnectionImpl.java:399)
>       at 
> org.apache.activemq.artemis.core.server.cluster.ClusterManager.start(ClusterManager.java:270)
>       at 
> org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.initialisePart2(ActiveMQServerImpl.java:3225)
>       at 
> org.apache.activemq.artemis.core.server.impl.SharedNothingLiveActivation.run(SharedNothingLiveActivation.java:118)
>       at 
> org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.internalStart(ActiveMQServerImpl.java:634)
>       at 
> org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.start(ActiveMQServerImpl.java:558)
>       at 
> org.apache.activemq.artemis.integration.FileBroker.start(FileBroker.java:64)
>       at org.apache.activemq.artemis.cli.commands.Run.execute(Run.java:115)
>       at 
> org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:154)
>       at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:102)
>       at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:129)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at org.apache.activemq.artemis.boot.Artemis.execute(Artemis.java:134)
>       at org.apache.activemq.artemis.boot.Artemis.main(Artemis.java:50)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to