Jiri Danek created DISPATCH-432:
-----------------------------------
Summary: Qpid Dispatch Router does not close connection to Broker
on exit
Key: DISPATCH-432
URL: https://issues.apache.org/jira/browse/DISPATCH-432
Project: Qpid Dispatch
Issue Type: Bug
Affects Versions: 0.6.0
Reporter: Jiri Danek
I have the following configuration for connecting to broker in my
{{qdrouterd.conf}}
{noformat}
connector {
name: ba
role: route-container
host: 172.28.128.221
port: amqp
sasl-mechanisms: ANONYMOUS
}
address {
prefix: jms.queue
waypoint: yes
}
autoLink {
addr: jms.queue.first
dir: in
connection: ba
}
autoLink {
addr: jms.queue.first
dir: out
connection: ba
}
autoLink {
addr: jms.queue.second
dir: in
connection: ba
}
autoLink {
addr: jms.queue.second
dir: out
connection: ba
}
{noformat}
If I stop dispatch demon with {{sudo service qdrouterd stop}} and then kill
Artemis broker with ^C, broker prints the following
{noformat}
12:18:04,721 INFO [org.apache.activemq.artemis] AMQ241001: HTTP Server started
at http://localhost:8161
12:18:04,722 INFO [org.apache.activemq.artemis] AMQ241002: Artemis Jolokia
REST API available at http://localhost:8161/jolokia
^C12:18:16,881 ERROR [org.apache.activemq.artemis.core.server] AMQ224065:
Failed to remove auto-created queue jms.queue.second:
java.lang.IllegalStateException: Cannot access JMS Server, core server is not
active
at
org.apache.activemq.artemis.jms.server.impl.JMSServerManagerImpl.checkInitialised(JMSServerManagerImpl.java:1416)
[artemis-jms-server-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.jms.server.impl.JMSServerManagerImpl.destroyQueue(JMSServerManagerImpl.java:766)
[artemis-jms-server-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.jms.server.impl.JMSServerManagerImpl$JMSQueueDeleter.delete(JMSServerManagerImpl.java:1639)
[artemis-jms-server-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.core.server.impl.AutoCreatedQueueManagerImpl$1.run(AutoCreatedQueueManagerImpl.java:50)
[artemis-server-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.utils.ReferenceCounterUtil.decrement(ReferenceCounterUtil.java:55)
[artemis-commons-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.core.server.impl.AutoCreatedQueueManagerImpl.decrement(AutoCreatedQueueManagerImpl.java:78)
[artemis-server-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.core.server.impl.QueueImpl.removeConsumer(QueueImpl.java:768)
[artemis-server-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.removeItself(ServerConsumerImpl.java:500)
[artemis-server-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.close(ServerConsumerImpl.java:446)
[artemis-server-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.doClose(ServerSessionImpl.java:345)
[artemis-server-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.core.server.impl.ServerSessionImpl$1.done(ServerSessionImpl.java:1160)
[artemis-server-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.core.persistence.impl.journal.OperationContextImpl.executeOnCompletion(OperationContextImpl.java:168)
[artemis-server-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.close(ServerSessionImpl.java:1152)
[artemis-server-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.freezeConnections(ActiveMQServerImpl.java:926)
[artemis-server-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.stop(ActiveMQServerImpl.java:741)
[artemis-server-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.stop(ActiveMQServerImpl.java:654)
[artemis-server-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.stop(ActiveMQServerImpl.java:547)
[artemis-server-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.jms.server.impl.JMSServerManagerImpl.stop(JMSServerManagerImpl.java:407)
[artemis-jms-server-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.integration.FileBroker.stop(FileBroker.java:79)
[artemis-cli-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at org.apache.activemq.artemis.cli.commands.Run$2.run(Run.java:166)
[artemis-cli-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
12:18:16,886 ERROR [org.apache.activemq.artemis.core.server] AMQ224065: Failed
to remove auto-created queue jms.queue.first: java.lang.IllegalStateException:
Cannot access JMS Server, core server is not active
at
org.apache.activemq.artemis.jms.server.impl.JMSServerManagerImpl.checkInitialised(JMSServerManagerImpl.java:1416)
[artemis-jms-server-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.jms.server.impl.JMSServerManagerImpl.destroyQueue(JMSServerManagerImpl.java:766)
[artemis-jms-server-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.jms.server.impl.JMSServerManagerImpl$JMSQueueDeleter.delete(JMSServerManagerImpl.java:1639)
[artemis-jms-server-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.core.server.impl.AutoCreatedQueueManagerImpl$1.run(AutoCreatedQueueManagerImpl.java:50)
[artemis-server-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.utils.ReferenceCounterUtil.decrement(ReferenceCounterUtil.java:55)
[artemis-commons-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.core.server.impl.AutoCreatedQueueManagerImpl.decrement(AutoCreatedQueueManagerImpl.java:78)
[artemis-server-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.core.server.impl.QueueImpl.removeConsumer(QueueImpl.java:768)
[artemis-server-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.removeItself(ServerConsumerImpl.java:500)
[artemis-server-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.close(ServerConsumerImpl.java:446)
[artemis-server-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.doClose(ServerSessionImpl.java:345)
[artemis-server-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.core.server.impl.ServerSessionImpl$1.done(ServerSessionImpl.java:1160)
[artemis-server-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.core.persistence.impl.journal.OperationContextImpl.executeOnCompletion(OperationContextImpl.java:168)
[artemis-server-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.close(ServerSessionImpl.java:1152)
[artemis-server-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.freezeConnections(ActiveMQServerImpl.java:926)
[artemis-server-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.stop(ActiveMQServerImpl.java:741)
[artemis-server-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.stop(ActiveMQServerImpl.java:654)
[artemis-server-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.stop(ActiveMQServerImpl.java:547)
[artemis-server-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.jms.server.impl.JMSServerManagerImpl.stop(JMSServerManagerImpl.java:407)
[artemis-jms-server-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at
org.apache.activemq.artemis.integration.FileBroker.stop(FileBroker.java:79)
[artemis-cli-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
at org.apache.activemq.artemis.cli.commands.Run$2.run(Run.java:166)
[artemis-cli-1.2.0.amq-700007-redhat-1.jar:1.2.0.amq-700007-redhat-1]
12:18:16,946 INFO [org.apache.activemq.artemis.core.server] AMQ221002: Apache
ActiveMQ Artemis Message Broker version 1.2.0.amq-700007-redhat-1
[f08081ff-3794-11e6-9e79-08002758ce8c] stopped, uptime 15.179 seconds
{noformat}
Apparently, qdrouterd does not close autolinks and the connector before it
exits. If I delete all these with {{qdmanage}} before I stop the broker, the
error is not printed.
This is a problem because of https://issues.jboss.org/browse/ENTMQ-1701 Unable
to consume from queue if the previous consumer did not exit cleanly
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]