Alexander created ARTEMIS-4114:
----------------------------------

             Summary: Broker deadlock occurs when restarting another broker in 
the cluster
                 Key: ARTEMIS-4114
                 URL: https://issues.apache.org/jira/browse/ARTEMIS-4114
             Project: ActiveMQ Artemis
          Issue Type: Bug
          Components: Broker
    Affects Versions: 2.19.1
            Reporter: Alexander


Broker deadlock occurs when restarting another broker in the cluster.

When one of the cluster brokers is restarted (cluster of 4 brokers), we get a 
restart of another broker.
Brokers are connected via staticConnectors, scaleDown policy is also configured:

 
{code:java}
    <ha-policy>
       <live-only>
          <scale-down>
             <connectors>
                <connector-ref>ART.EL.CLS1-connector</connector-ref>
                <connector-ref>ART.EL.CLS2-connector</connector-ref>
                <connector-ref>ART.EL.CLS3-connector</connector-ref>            
              </connectors>
          </scale-down>
      </live-only>
    </ha-policy>
 {code}
 

Logs of fallen broker:

 
{code:java}
Deadlock detected!"Thread-16 
(ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$6@46cc127b)"
 Id=82 BLOCKED on 
org.apache.activemq.artemis.core.server.cluster.impl.ClusterConnectionBridge@62661d03
 owned by "Thread-142 (ActiveMQ-client-global-threads)" Id=10066
    at 
org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl.handle(BridgeImpl.java:620)
    -  blocked on 
org.apache.activemq.artemis.core.server.cluster.impl.ClusterConnectionBridge@62661d03
    at 
org.apache.activemq.artemis.core.server.impl.QueueImpl.handle(QueueImpl.java:3897)
    -  locked org.apache.activemq.artemis.core.server.impl.QueueImpl@59041573
    at 
org.apache.activemq.artemis.core.server.impl.QueueImpl.deliver(QueueImpl.java:3061)
    -  locked org.apache.activemq.artemis.core.server.impl.QueueImpl@59041573
    at 
org.apache.activemq.artemis.core.server.impl.QueueImpl$DeliverRunner.run(QueueImpl.java:4205)
    at 
org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42)
    at 
org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31)
    at 
org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:65)
    at 
org.apache.activemq.artemis.utils.actors.ProcessorBase$$Lambda$134/0x00000008002b5840.run(Unknown
 Source)
    at 
[email protected]/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at 
[email protected]/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at 
org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
    Number of locked synchronizers = 2
    - java.util.concurrent.ThreadPoolExecutor$Worker@ffceecd
    - java.util.concurrent.locks.ReentrantLock$NonfairSync@561fd6c1
"Thread-142 (ActiveMQ-client-global-threads)" Id=10066 BLOCKED on 
org.apache.activemq.artemis.core.server.impl.QueueImpl@59041573 owned by 
"Thread-16 
(ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$6@46cc127b)"
 Id=82
    at 
org.apache.activemq.artemis.core.server.impl.QueueImpl.iterQueue(QueueImpl.java:2158)
    -  blocked on 
org.apache.activemq.artemis.core.server.impl.QueueImpl@59041573
    at 
org.apache.activemq.artemis.core.server.impl.QueueImpl.moveReferencesBetweenSnFQueues(QueueImpl.java:2649)
    at 
org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl.scaleDown(BridgeImpl.java:746)
    -  locked 
org.apache.activemq.artemis.core.server.cluster.impl.ClusterConnectionBridge@62661d03
    at 
org.apache.activemq.artemis.core.server.cluster.impl.BridgeImpl.connectionFailed(BridgeImpl.java:728)
    at 
org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl.callSessionFailureListeners(ClientSessionFactoryImpl.java:774)
    at 
org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl.failoverOrReconnect(ClientSessionFactoryImpl.java:709)
    at 
org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl.handleConnectionFailure(ClientSessionFactoryImpl.java:544)
    at 
org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl.access$600(ClientSessionFactoryImpl.java:75)
    at 
org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl$DelegatingFailureListener.connectionFailed(ClientSessionFactoryImpl.java:1317)
    at 
org.apache.activemq.artemis.spi.core.protocol.AbstractRemotingConnection.callFailureListeners(AbstractRemotingConnection.java:78)
    at 
org.apache.activemq.artemis.core.protocol.core.impl.RemotingConnectionImpl.fail(RemotingConnectionImpl.java:222)
    at 
org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl$CloseRunnable.run(ClientSessionFactoryImpl.java:1091)
    at 
org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42)
    at 
org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31)
    at 
org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:65)
    at 
org.apache.activemq.artemis.utils.actors.ProcessorBase$$Lambda$134/0x00000008002b5840.run(Unknown
 Source)
    at 
[email protected]/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at 
[email protected]/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at 
org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
    Number of locked synchronizers = 3
    - java.util.concurrent.ThreadPoolExecutor$Worker@21768e7
    - java.util.concurrent.locks.ReentrantLock$NonfairSync@32848485
    - java.util.concurrent.locks.ReentrantLock$NonfairSync@6efeeadb {code}
 

 

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to