0 Replies Latest reply on May 28, 2019 3:27 AM by grischa.paul

    Sending message to temporary jmsReplyTo destination of another server failed since Wildfly 14

    grischa.paul

      Hello, I need help.

      Since wildfly 14 the sending of a message to a temporary destination obtained from Message#getJMSReplyTo() of a message obtained from another cluster node fails up to wildfly 16 with error "Destination 7d89b97f-4097-4dee-b845-eef2afe304a0 does not exist". Probably it is caused by upgrade from artemis 1.5 to 2.6. It has worked fine up to Wildfly 13. I use standard standallone-full-ha.xml in both servers, just added some jms queue and topic and name entries to the InVmConnectionFactory (with RemoteConnectionFactory it makes no difference, with and without security). Both servers are started with different values for system property -Djboss.node.name=(jb1 and jb2).

      Suspicious debug messages from artemis logger are

       

      jms.tempqueue.7d89b97f-4097-4dee-b845-eef2afe304a002b51746-7e26-11e9-a29f-42f320524153]]@402831124 is not going anywhere as it didn't have a binding on address:activemq.notifications

       

      ClientSessionFactoryImpl received backup update for live/backup pair = TransportConfiguration(name=in-vm, factory=org-apache-activemq-artemis-core-remoting-impl-invm-InVMConnectorFactory) ?bufferPooling=false&serverId=0 / null but it didn't belong to TransportConfiguration(name=in-vm, factory=org-apache-activemq-artemis-core-remoting-impl-invm-InVMConnectorFactory) ?bufferPooling=false&serverId=0

       

      But I don't know whether this messages provide some hint. More log Messages you can find in attached Server.log.

       

      I debugged it and saw that the socket connection used in the jms session points to the local node (port 8180) instead of the remote node where the original messsage was sent from. But I don't know whether this is correct or not in case of using the local InVmConnectionFactory.

      org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnection() calls org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory() where I see TransportConfiguration(name=http-connector, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory) ?httpUpgradeEndpoint=http-acceptor&activemqServerName=default&httpUpgradeEnabled=true&port=8180&host=127-0-0-1

       

      Probably this is caused by missing cluster support of temporary queues as mentioned in issue ARTEMIS-1967 (https://issues.apache.org/jira/browse/ARTEMIS-1967).

      Thank you