activemq-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jiri Danek (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (ARTEMIS-1330) [DISCUSS] Run JMS tests over many protocols (through different JMS client libraries)
Date Thu, 10 Aug 2017 09:11:00 GMT

    [ https://issues.apache.org/jira/browse/ARTEMIS-1330?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16118180#comment-16118180
] 

Jiri Danek edited comment on ARTEMIS-1330 at 8/10/17 9:10 AM:
--------------------------------------------------------------

{noformat}
{{org.apache.activemq.artemis.tests.integration.amqp.AmqpFlowControlTest#testAddressIsBlockedForOtherProdudersWhenFull}}

Core: no exception is thrown on last send (not ResourceAllocationException nor anything else),
but contition addressSize >= MAX_SIZE_BYTES_REJECT_THRESHOLD is true.
OpenWire: The test is killed by JUnit timeout, there are two broker exceptions in the log
{noformat}
[Thread-1 (activemq-netty-threads)] 18:14:10,755 ERROR [org.apache.activemq.artemis.core.server]
AMQ224048: Failed to remove temporary queue 3693b650-d0f6-4b12-8dd2-c9e2adadc01d: java.lang.NullPointerException
	at org.apache.activemq.artemis.core.server.management.impl.ManagementServiceImpl.unregisterQueue(ManagementServiceImpl.java:260)
[:]
	at org.apache.activemq.artemis.core.postoffice.impl.PostOfficeImpl.removeBinding(PostOfficeImpl.java:581)
[:]
	at org.apache.activemq.artemis.core.server.impl.QueueImpl.deleteQueue(QueueImpl.java:1487)
[:]
	at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.destroyQueue(ActiveMQServerImpl.java:1745)
[:]
	at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.destroyQueue(ActiveMQServerImpl.java:1702)
[:]
	at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.destroyQueue(ActiveMQServerImpl.java:1682)
[:]
	at org.apache.activemq.artemis.core.server.impl.ServerSessionImpl$TempQueueCleanerUpper.run(ServerSessionImpl.java:673)
[:]
	at org.apache.activemq.artemis.core.server.impl.ServerSessionImpl$TempQueueCleanerUpper.connectionFailed(ServerSessionImpl.java:688)
[:]
	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.callFailureListeners(OpenWireConnection.java:416)
[:]
	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.disconnect(OpenWireConnection.java:578)
[:]
	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.disconnect(OpenWireConnection.java:392)
[:]
	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireProtocolManager.removeConnection(OpenWireProtocolManager.java:170)
[:]
	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.fail(OpenWireConnection.java:615)
[:]
	at org.apache.activemq.artemis.spi.core.protocol.AbstractRemotingConnection.fail(AbstractRemotingConnection.java:210)
[:]
	at org.apache.activemq.artemis.core.remoting.server.impl.RemotingServiceImpl.connectionDestroyed(RemotingServiceImpl.java:542)
[:]
	at org.apache.activemq.artemis.core.remoting.impl.netty.NettyAcceptor$Listener.connectionDestroyed(NettyAcceptor.java:753)
[:]
	at org.apache.activemq.artemis.core.remoting.impl.netty.ActiveMQChannelHandler.channelInactive(ActiveMQChannelHandler.java:78)
[:]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:224)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.handler.codec.ByteToMessageDecoder.channelInputClosed(ByteToMessageDecoder.java:360)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.handler.codec.ByteToMessageDecoder.channelInactive(ByteToMessageDecoder.java:325)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:224)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1329)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:908)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.AbstractChannel$AbstractUnsafe$7.run(AbstractChannel.java:744) [netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:304) [netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_131]

[Thread-1 (activemq-netty-threads)] 18:14:10,757 WARN  [org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection]
Failed to fire advisory on topic://ActiveMQ.Advisory.TempQueue: java.lang.NullPointerException
	at org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession.send(AMQSession.java:348)
[:]
	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireProtocolManager.fireAdvisory(OpenWireProtocolManager.java:386)
[:]
	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireProtocolManager.fireAdvisory(OpenWireProtocolManager.java:336)
[:]
	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.tempQueueDeleted(OpenWireConnection.java:857)
[:]
	at org.apache.activemq.artemis.core.server.impl.ServerSessionImpl$TempQueueCleanerUpper.run(ServerSessionImpl.java:675)
[:]
	at org.apache.activemq.artemis.core.server.impl.ServerSessionImpl$TempQueueCleanerUpper.connectionFailed(ServerSessionImpl.java:688)
[:]
	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.callFailureListeners(OpenWireConnection.java:416)
[:]
	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.disconnect(OpenWireConnection.java:578)
[:]
	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.disconnect(OpenWireConnection.java:392)
[:]
	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireProtocolManager.removeConnection(OpenWireProtocolManager.java:170)
[:]
	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.fail(OpenWireConnection.java:615)
[:]
	at org.apache.activemq.artemis.spi.core.protocol.AbstractRemotingConnection.fail(AbstractRemotingConnection.java:210)
[:]
	at org.apache.activemq.artemis.core.remoting.server.impl.RemotingServiceImpl.connectionDestroyed(RemotingServiceImpl.java:542)
[:]
	at org.apache.activemq.artemis.core.remoting.impl.netty.NettyAcceptor$Listener.connectionDestroyed(NettyAcceptor.java:753)
[:]
	at org.apache.activemq.artemis.core.remoting.impl.netty.ActiveMQChannelHandler.channelInactive(ActiveMQChannelHandler.java:78)
[:]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:224)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.handler.codec.ByteToMessageDecoder.channelInputClosed(ByteToMessageDecoder.java:360)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.handler.codec.ByteToMessageDecoder.channelInactive(ByteToMessageDecoder.java:325)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:224)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1329)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:908)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.AbstractChannel$AbstractUnsafe$7.run(AbstractChannel.java:744) [netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:304) [netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_131]
{noformat}
AMQP: pass

reproducibility of failures: always, except the error messages on OpenWire, which show in
say 20%; the test fails always, but message sometimes does not appear

----

{{org.apache.activemq.artemis.tests.integration.jms.connection.CloseConnectionFactoryOnGCest#testCloseCFOnGC}}

Core: fail
OpenWire: pass
AMQP: pass

likely broken test (by me), I do not understand what it is even testing

----

{{org.apache.activemq.artemis.tests.integration.amqp.JMSConnectionWithSecurityTest#testSendReceive}}

fails in all three protocols, apparently problem in test, but its weird...

----

{{org.apache.activemq.artemis.tests.integration.amqp.JMSConnectionWithSecurityTest#testProducerNotAuthorized}}

only OpenWire fails, I guess this is real error. Should be reported

ehm, we should be testing for this, and also core fails for me now, btw
and setting this is bit tricier than I expected
(what about enabling something for guest but disabling for logged user, who will win?)

----

org.apache.activemq.artemis.tests.integration.amqp.JMSDurableConsumerTest#testDurableConsumerUnsubscribe
org.apache.activemq.artemis.tests.integration.amqp.JMSDurableConsumerTest#testDurableConsumerUnsubscribeWhileNoSubscription

works, except openwire, looks like real issue. Actually not, BROKEN TEST there are some extra
consumers because of the client itself, so just +2 and thats it.

---

org.apache.activemq.artemis.tests.integration.jms.JMSSecurityTest#testCreateQueueConnection

works with amqp, openwire fails on not throwing security exception, core fails on not being
able to do a cast that other clients can do.

java.lang.ClassCastException: org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory
cannot be cast to javax.jms.QueueConnectionFactory; according to https://stackoverflow.com/questions/30121654/jms-queueconnectionfactory-vs-connectionfactory
it is some legacy interface

	at org.apache.activemq.artemis.tests.integration.jms.JMSSecurityTest.testCreateQueueConnection(JMSSecurityTest.java:65)
	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.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48)
	at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
	at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48)
	at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48)
	at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
	at org.junit.rules.RunRules.evaluate(RunRules.java:20)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
	at org.junit.runners.Suite.runChild(Suite.java:127)
	at org.junit.runners.Suite.runChild(Suite.java:26)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
	at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
	at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
	at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)

----

[COULD NOT PORT; could not query, was not in hawtio, shelved] org.apache.activemq.artemis.tests.integration.amqp.JMSTemporaryDestinationTest#testDeleteTemporaryTopic

Core and amqp works, OpenWire does not.

---

org.apache.activemq.artemis.tests.integration.jms.client.PreACKJMSTest#internalTestPreACK

probably broken test, but it is strange that the other tests in the class pass, and this one
fails with all three

----

org.apache.activemq.artemis.tests.integration.jms.client.SessionTest

DONE: the test is missing checks for exceptions not being thrown when expected

----

[PORTED, test is broken] org.apache.activemq.artemis.tests.integration.jms.jms2client.SharedConsumerTest#sharedNonDurableUnsubscribeDifferentTopic

failed on AMQP, probably something trivial regarding differences
// there is some AMQP option to follow core naming scheme for subscriptions?

----

org.apache.activemq.artemis.tests.integration.persistence.SyncSendTest

thats the             Assert.fail("Messages are being sent too fast! Faster than the disk
would be able to sync!");   thing
{noformat}


was (Author: jdanek):
{{org.apache.activemq.artemis.tests.integration.amqp.AmqpFlowControlTest#testAddressIsBlockedForOtherProdudersWhenFull}}

Core: no exception is thrown on last send (not ResourceAllocationException nor anything else),
but contition addressSize >= MAX_SIZE_BYTES_REJECT_THRESHOLD is true.
OpenWire: The test is killed by JUnit timeout, there are two broker exceptions in the log
{noformat}
[Thread-1 (activemq-netty-threads)] 18:14:10,755 ERROR [org.apache.activemq.artemis.core.server]
AMQ224048: Failed to remove temporary queue 3693b650-d0f6-4b12-8dd2-c9e2adadc01d: java.lang.NullPointerException
	at org.apache.activemq.artemis.core.server.management.impl.ManagementServiceImpl.unregisterQueue(ManagementServiceImpl.java:260)
[:]
	at org.apache.activemq.artemis.core.postoffice.impl.PostOfficeImpl.removeBinding(PostOfficeImpl.java:581)
[:]
	at org.apache.activemq.artemis.core.server.impl.QueueImpl.deleteQueue(QueueImpl.java:1487)
[:]
	at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.destroyQueue(ActiveMQServerImpl.java:1745)
[:]
	at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.destroyQueue(ActiveMQServerImpl.java:1702)
[:]
	at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.destroyQueue(ActiveMQServerImpl.java:1682)
[:]
	at org.apache.activemq.artemis.core.server.impl.ServerSessionImpl$TempQueueCleanerUpper.run(ServerSessionImpl.java:673)
[:]
	at org.apache.activemq.artemis.core.server.impl.ServerSessionImpl$TempQueueCleanerUpper.connectionFailed(ServerSessionImpl.java:688)
[:]
	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.callFailureListeners(OpenWireConnection.java:416)
[:]
	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.disconnect(OpenWireConnection.java:578)
[:]
	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.disconnect(OpenWireConnection.java:392)
[:]
	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireProtocolManager.removeConnection(OpenWireProtocolManager.java:170)
[:]
	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.fail(OpenWireConnection.java:615)
[:]
	at org.apache.activemq.artemis.spi.core.protocol.AbstractRemotingConnection.fail(AbstractRemotingConnection.java:210)
[:]
	at org.apache.activemq.artemis.core.remoting.server.impl.RemotingServiceImpl.connectionDestroyed(RemotingServiceImpl.java:542)
[:]
	at org.apache.activemq.artemis.core.remoting.impl.netty.NettyAcceptor$Listener.connectionDestroyed(NettyAcceptor.java:753)
[:]
	at org.apache.activemq.artemis.core.remoting.impl.netty.ActiveMQChannelHandler.channelInactive(ActiveMQChannelHandler.java:78)
[:]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:224)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.handler.codec.ByteToMessageDecoder.channelInputClosed(ByteToMessageDecoder.java:360)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.handler.codec.ByteToMessageDecoder.channelInactive(ByteToMessageDecoder.java:325)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:224)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1329)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:908)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.AbstractChannel$AbstractUnsafe$7.run(AbstractChannel.java:744) [netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:304) [netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_131]

[Thread-1 (activemq-netty-threads)] 18:14:10,757 WARN  [org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection]
Failed to fire advisory on topic://ActiveMQ.Advisory.TempQueue: java.lang.NullPointerException
	at org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession.send(AMQSession.java:348)
[:]
	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireProtocolManager.fireAdvisory(OpenWireProtocolManager.java:386)
[:]
	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireProtocolManager.fireAdvisory(OpenWireProtocolManager.java:336)
[:]
	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.tempQueueDeleted(OpenWireConnection.java:857)
[:]
	at org.apache.activemq.artemis.core.server.impl.ServerSessionImpl$TempQueueCleanerUpper.run(ServerSessionImpl.java:675)
[:]
	at org.apache.activemq.artemis.core.server.impl.ServerSessionImpl$TempQueueCleanerUpper.connectionFailed(ServerSessionImpl.java:688)
[:]
	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.callFailureListeners(OpenWireConnection.java:416)
[:]
	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.disconnect(OpenWireConnection.java:578)
[:]
	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.disconnect(OpenWireConnection.java:392)
[:]
	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireProtocolManager.removeConnection(OpenWireProtocolManager.java:170)
[:]
	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.fail(OpenWireConnection.java:615)
[:]
	at org.apache.activemq.artemis.spi.core.protocol.AbstractRemotingConnection.fail(AbstractRemotingConnection.java:210)
[:]
	at org.apache.activemq.artemis.core.remoting.server.impl.RemotingServiceImpl.connectionDestroyed(RemotingServiceImpl.java:542)
[:]
	at org.apache.activemq.artemis.core.remoting.impl.netty.NettyAcceptor$Listener.connectionDestroyed(NettyAcceptor.java:753)
[:]
	at org.apache.activemq.artemis.core.remoting.impl.netty.ActiveMQChannelHandler.channelInactive(ActiveMQChannelHandler.java:78)
[:]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:224)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.handler.codec.ByteToMessageDecoder.channelInputClosed(ByteToMessageDecoder.java:360)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.handler.codec.ByteToMessageDecoder.channelInactive(ByteToMessageDecoder.java:325)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:224)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1329)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:908)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.AbstractChannel$AbstractUnsafe$7.run(AbstractChannel.java:744) [netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:304) [netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_131]
{noformat}
AMQP: pass

reproducibility of failures: always, except the error messages on OpenWire, which show in
say 20%; the test fails always, but message sometimes does not appear

> [DISCUSS] Run JMS tests over many protocols (through different JMS client libraries)
> ------------------------------------------------------------------------------------
>
>                 Key: ARTEMIS-1330
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-1330
>             Project: ActiveMQ Artemis
>          Issue Type: Test
>          Components: AMQP, OpenWire
>    Affects Versions: 2.3.0
>            Reporter: Jiri Danek
>            Priority: Minor
>
> Currently, there are three sets of JMS tests in Apache ActiveMQ Artemis codebase (that
I know of)
> * activemq-artemis/tests/jms-tests/src/test/java/org/apache/activemq/artemis/jms/tests/*
> * activemq-artemis/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/*
> * activemq-artemis/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/*
> The first two are being run only through the Core JMS client, while the last one is being
run through Qpid JMS client (with few exceptions).
> It should be beneficial to be able to run all JMS tests through all three protocols that
Artemis supports that have a JMS client, these being
> * Core (artemis-jms-client),
> * OpenWire (activemq-client), and
> * AMQP (qpid-jms-client).
> I made an attempt to convert some of the tests to a parametrized test with changeable
connection factory. The way {{org.apache.activemq.artemis.tests.integration.persistence.SyncSendTest}}
currently does it. See https://github.com/jdanekrh/activemq-artemis/pull/4
> There are the following obstackes
> * Some tests go beyond the JMS standardized APIs and cast the JMS object to specific
implementations in their chosen library.
> * Some tests require specific settings on the connection factory, these are not portable
across different JMS clients. There will have to be branching depending on the specific factory
currently in use, or something...
> * OpenWire client supports JMS 1.1, while Core and AMQP clients are JMS 2.0, some tests
will have to be skipped on OpenWire
> * OpenWire client has different semantics of {{receiver.receiveNoWait()}} call; when
there are no messages in prefetch cache, OpenWire returns null, while other clients do a round
trip to server to check for new messages before giving up.
> There are some improvements which can be considered later, some of these are partially
implemented in various places
> * share broker between individual tests
> * use random name or random suffix for created addresses and queues use suffix for queues/topics
to ensure isolation
> * have broker uberconfig for all tests, or group tests by config they need, so that reconfiguring
broker is limited
> * that also allows tests to run in parallel
> * use random port for acceptor on broker, can run tests even more parallel, and mitigates
environmentally caused failures
> I intend to report the failures I found so far (see the code at the link above) and I
am reasonably certain they are actual failures. The rest I plan to note in comments here,
one test per comment.
> If you happen to have any comments and suggestions how to do this better, I'd be glad
to hear them.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message