]
Martin Styk updated WFWIP-10:
-----------------------------
Component/s: (was: JMS)
[Artemis 2.x Upgrade] Old (Artemis 1.5..5) client cannot create
subscription on Artemis 2.x server
--------------------------------------------------------------------------------------------------
Key: WFWIP-10
URL:
https://issues.jboss.org/browse/WFWIP-10
Project: WildFly WIP
Issue Type: Bug
Components: Artemis
Reporter: Miroslav Novak
Assignee: Martyn Taylor
Priority: Blocker
Labels: feature-branch-blocker
If Artemis 1.5.5 client tries to subscribe on topic with latest Artemis 2.x (Artemis
repo:
https://github.com/mnovak1/activemq-artemis/ , branch: ARTEMIS-1609 , commit:
e45e75af64859dc43bfe40e0a4c6b81187cc20e4) then JMSException is thrown:
{code}
04:28:00,121 Thread-15 ERROR [org.jboss.qa.hornetq.apps.clients.SubscriberTransAck:172]
Exception thrown during subsribing.
javax.jms.JMSException
at
org.apache.activemq.artemis.core.protocol.core.impl.ChannelImpl.sendBlocking(ChannelImpl.java:404)
at
org.apache.activemq.artemis.core.protocol.core.impl.ChannelImpl.sendBlocking(ChannelImpl.java:315)
at
org.apache.activemq.artemis.core.protocol.core.impl.ActiveMQSessionContext.queueQuery(ActiveMQSessionContext.java:254)
at
org.apache.activemq.artemis.core.client.impl.ClientSessionImpl.queueQuery(ClientSessionImpl.java:344)
at
org.apache.activemq.artemis.jms.client.ActiveMQSession.createConsumer(ActiveMQSession.java:689)
at
org.apache.activemq.artemis.jms.client.ActiveMQSession.createDurableSubscriber(ActiveMQSession.java:426)
at
org.apache.activemq.artemis.jms.client.ActiveMQSession.createDurableSubscriber(ActiveMQSession.java:400)
at
org.jboss.qa.hornetq.apps.clients.SubscriberTransAck.subscribe(SubscriberTransAck.java:166)
at
org.jboss.qa.hornetq.apps.clients.TopicClientsTransAck.startClients(TopicClientsTransAck.java:77)
at
org.jboss.qa.artemis.test.compatibility.Eap7ClientCompatibilityTestCase.testNettyClient(Eap7ClientCompatibilityTestCase.java:169)
at
org.jboss.qa.artemis.test.compatibility.Eap7ClientCompatibilityTestCase.testNettyTransAckTopic(Eap7ClientCompatibilityTestCase.java:159)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
at org.jboss.arquillian.junit.Arquillian$6$1.invoke(Arquillian.java:270)
at
org.jboss.arquillian.container.test.impl.execution.LocalTestExecuter.execute(LocalTestExecuter.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
{code}
There is NPE on server with:
{code}
15:32:15,509 WARN [org.apache.activemq.artemis.core.server] (Thread-7
(ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$5@5b9dcfa))
AMQ222225: Sending unexpected exception to the client: java.lang.NullPointerException
at org.apache.activemq.artemis.api.core.SimpleString.concat(SimpleString.java:399)
[artemis-commons-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT]
at
org.apache.activemq.artemis.core.protocol.core.impl.wireformat.QueueAbstractPacket.getOldPrefixedAddress(QueueAbstractPacket.java:115)
[artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT]
at
org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.slowPacketHandler(ServerSessionPacketHandler.java:393)
[artemis-server-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT]
at
org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:281)
[artemis-server-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT]
at org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33)
[artemis-commons-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT]
at
org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:66)
[artemis-commons-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT]
at
org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42)
[artemis-commons-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT]
at
org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31)
[artemis-commons-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT]
at
org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:66)
[artemis-commons-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[rt.jar:1.8.0_131]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[rt.jar:1.8.0_131]
at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_131]
{code}
Looking at code there is processed packet {{SessionQueueQueryMessage}} on server which
does not have set {{address}} variable.