activemq-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Justin Bertram (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (ARTEMIS-1416) Queue autocreate does not autocreate queue if address already exists
Date Fri, 29 Sep 2017 17:14:00 GMT

     [ https://issues.apache.org/jira/browse/ARTEMIS-1416?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Justin Bertram updated ARTEMIS-1416:
------------------------------------
    Affects Version/s:     (was: 2.4.0)
                       2.3.0

> Queue autocreate does not autocreate queue if address already exists
> --------------------------------------------------------------------
>
>                 Key: ARTEMIS-1416
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-1416
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: Broker, OpenWire
>    Affects Versions: 2.3.0
>            Reporter: Jiri Daněk
>
> # Configure <journal-type>NIO</journal-type> in broker.xml (that is the default
if you don't have libaio on your system)
> # Start Artemis Broker
> # Excecute test https://github.com/jdanekrh/jms-reproducers/blob/master/src/test/java/org/apache/activemq/artemis/tests/integration/jms/largemessage/JMSLargeMessageTest.java.
(Two tests. testSmallString sends message of size 1024 and testHugeString sends message of
size 1024*1024. Using Core JMS client, activemq-client and qpid-jms-client in turn)
> In case of testSmallString, Core and AMQP fails, OpenWire succeeds. The problem here
as I see it is that the test creates an address, but not a queue. There is queue autocreate
turned on, so I'd expect queue to be created. It is not, except for OpenWire.
> In case of testHugeString, this fails for all. In case of Core and AMQP, the cause is
IMO the same as in testSmallString. In case of OpenWire, there are the following scary error
messages, reproduced below.
> If I modify the test to create both address and queue, then all the tests in the class
pass.
> The OpenWire error in testHugeString
> {noformat}
> SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
> SLF4J: Defaulting to no-operation (NOP) logger implementation
> SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
> javax.jms.JMSException: Cannot find add info 115 on compactor or current records
> 	at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:54)
> 	at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1399)
> 	at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1428)
> 	at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1323)
> 	at org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1967)
> 	at org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:288)
> 	at org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:223)
> 	at org.apache.activemq.ActiveMQMessageProducerSupport.send(ActiveMQMessageProducerSupport.java:241)
> 	at org.apache.activemq.artemis.tests.integration.jms.largemessage.JMSLargeMessageTest.sendStringOfSize(JMSLargeMessageTest.java:88)
> 	at org.apache.activemq.artemis.tests.integration.jms.largemessage.JMSLargeMessageTest.testHugeString(JMSLargeMessageTest.java:62)
> 	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:50)
> 	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> 	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
> 	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
> 	at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:298)
> 	at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:292)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> 	at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.IllegalStateException: Cannot find add info 115 on compactor or
current records
> 	at org.apache.activemq.artemis.core.journal.impl.JournalImpl.checkKnownRecordID(JournalImpl.java:994)
> 	at org.apache.activemq.artemis.core.journal.impl.JournalImpl.appendUpdateRecord(JournalImpl.java:813)
> 	at org.apache.activemq.artemis.core.journal.Journal.appendUpdateRecord(Journal.java:98)
> 	at org.apache.activemq.artemis.core.persistence.impl.journal.AbstractJournalStorageManager.storeReference(AbstractJournalStorageManager.java:382)
> 	at org.apache.activemq.artemis.core.postoffice.impl.PostOfficeImpl.processRoute(PostOfficeImpl.java:1155)
> 	at org.apache.activemq.artemis.core.postoffice.impl.PostOfficeImpl.route(PostOfficeImpl.java:820)
> 	at org.apache.activemq.artemis.core.postoffice.impl.PostOfficeImpl.route(PostOfficeImpl.java:722)
> 	at org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.doSend(ServerSessionImpl.java:1688)
> 	at org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1365)
> 	at org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1309)
> 	at org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession.lambda$send$0(AMQSession.java:357)
> 	at org.apache.activemq.artemis.core.paging.impl.PagingStoreImpl.checkMemory(PagingStoreImpl.java:706)
> 	at org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession.send(AMQSession.java:353)
> 	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection$CommandProcessor.processMessage(OpenWireConnection.java:1458)
> 	at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:768)
> 	at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.bufferReceived(OpenWireConnection.java:273)
> 	at org.apache.activemq.artemis.core.remoting.server.impl.RemotingServiceImpl$DelegatingBufferHandler.bufferReceived(RemotingServiceImpl.java:642)
> 	at org.apache.activemq.artemis.core.remoting.impl.netty.ActiveMQChannelHandler.channelRead(ActiveMQChannelHandler.java:68)
> 	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
> 	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
> 	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
> 	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310)
> 	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:284)
> 	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
> 	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
> 	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
> 	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1342)
> 	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
> 	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
> 	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:934)
> 	at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:979)
> 	at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe$1.run(AbstractEpollChannel.java:338)
> 	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
> 	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403)
> 	at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:312)
> 	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
> 	... 1 more
> {noformat}
> Logs from broker
> {noformat}
> 14:57:02,113 ERROR [org.apache.activemq.artemis.core.journal.impl.JournalImpl] appendAddRecord::java.lang.IllegalStateException:
Can't write records bigger than the bufferSize(501760) on the journal: java.lang.IllegalStateException:
Can't write records bigger than the bufferSize(501760) on the journal
>         at org.apache.activemq.artemis.core.io.buffer.TimedBuffer.checkSize(TimedBuffer.java:198)
[artemis-journal-2.4.0-SNAPSHOT.jar:2.4.0-SNAPSHOT]
>         at org.apache.activemq.artemis.core.io.AbstractSequentialFile.fits(AbstractSequentialFile.java:168)
[artemis-journal-2.4.0-SNAPSHOT.jar:2.4.0-SNAPSHOT]
>         at org.apache.activemq.artemis.core.journal.impl.JournalImpl.switchFileIfNecessary(JournalImpl.java:2918)
[artemis-journal-2.4.0-SNAPSHOT.jar:2.4.0-SNAPSHOT]
>         at org.apache.activemq.artemis.core.journal.impl.JournalImpl.appendRecord(JournalImpl.java:2640)
[artemis-journal-2.4.0-SNAPSHOT.jar:2.4.0-SNAPSHOT]
>         at org.apache.activemq.artemis.core.journal.impl.JournalImpl.access$200(JournalImpl.java:88)
[artemis-journal-2.4.0-SNAPSHOT.jar:2.4.0-SNAPSHOT]
>         at org.apache.activemq.artemis.core.journal.impl.JournalImpl$1.run(JournalImpl.java:778)
[artemis-journal-2.4.0-SNAPSHOT.jar:2.4.0-SNAPSHOT]
>         at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42)
[artemis-commons-2.4.0-SNAPSHOT.jar:2.4.0-SNAPSHOT]
>         at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31)
[artemis-commons-2.4.0-SNAPSHOT.jar:2.4.0-SNAPSHOT]
>         at org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53)
[artemis-commons-2.4.0-SNAPSHOT.jar:2.4.0-SNAPSHOT]
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[rt.jar:1.8.0_141]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[rt.jar:1.8.0_141]
>         at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_141]
> 14:57:02,115 WARN  [org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession]
Cannot find add info 115 on compactor or current records: java.lang.IllegalStateException:
Cannot find add info 115 on compactor or current records
>         at org.apache.activemq.artemis.core.journal.impl.JournalImpl.checkKnownRecordID(JournalImpl.java:994)
[artemis-journal-2.4.0-SNAPSHOT.jar:2.4.0-SNAPSHOT]
>         at org.apache.activemq.artemis.core.journal.impl.JournalImpl.appendUpdateRecord(JournalImpl.java:813)
[artemis-journal-2.4.0-SNAPSHOT.jar:2.4.0-SNAPSHOT]
>         at org.apache.activemq.artemis.core.journal.Journal.appendUpdateRecord(Journal.java:98)
[artemis-journal-2.4.0-SNAPSHOT.jar:2.4.0-SNAPSHOT]
>         at org.apache.activemq.artemis.core.persistence.impl.journal.AbstractJournalStorageManager.storeReference(AbstractJournalStorageManager.java:382)
[artemis-server-2.4.0-SNAPSHOT.jar:2.4.0-SNAPSHOT]
>         at org.apache.activemq.artemis.core.postoffice.impl.PostOfficeImpl.processRoute(PostOfficeImpl.java:1155)
[artemis-server-2.4.0-SNAPSHOT.jar:2.4.0-SNAPSHOT]
>         at org.apache.activemq.artemis.core.postoffice.impl.PostOfficeImpl.route(PostOfficeImpl.java:820)
[artemis-server-2.4.0-SNAPSHOT.jar:2.4.0-SNAPSHOT]
>         at org.apache.activemq.artemis.core.postoffice.impl.PostOfficeImpl.route(PostOfficeImpl.java:722)
[artemis-server-2.4.0-SNAPSHOT.jar:2.4.0-SNAPSHOT]
>         at org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.doSend(ServerSessionImpl.java:1688)
[artemis-server-2.4.0-SNAPSHOT.jar:2.4.0-SNAPSHOT]
>         at org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1365)
[artemis-server-2.4.0-SNAPSHOT.jar:2.4.0-SNAPSHOT]
>         at org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1309)
[artemis-server-2.4.0-SNAPSHOT.jar:2.4.0-SNAPSHOT]
>         at org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession.lambda$send$0(AMQSession.java:357)
[artemis-openwire-protocol-2.4.0-SNAPSHOT.jar:]
>         at org.apache.activemq.artemis.core.paging.impl.PagingStoreImpl.checkMemory(PagingStoreImpl.java:706)
[artemis-server-2.4.0-SNAPSHOT.jar:2.4.0-SNAPSHOT]
>         at org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession.send(AMQSession.java:353)
[artemis-openwire-protocol-2.4.0-SNAPSHOT.jar:]
>         at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection$CommandProcessor.processMessage(OpenWireConnection.java:1458)
[artemis-openwire-protocol-2.4.0-SNAPSHOT.jar:]
>         at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:768)
[activemq-client-5.14.5.jar:5.14.5]
>         at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.bufferReceived(OpenWireConnection.java:273)
[artemis-openwire-protocol-2.4.0-SNAPSHOT.jar:]
>         at org.apache.activemq.artemis.core.remoting.server.impl.RemotingServiceImpl$DelegatingBufferHandler.bufferReceived(RemotingServiceImpl.java:642)
[artemis-server-2.4.0-SNAPSHOT.jar:2.4.0-SNAPSHOT]
>         at org.apache.activemq.artemis.core.remoting.impl.netty.ActiveMQChannelHandler.channelRead(ActiveMQChannelHandler.java:68)
[artemis-core-client-2.4.0-SNAPSHOT.jar:2.4.0-SNAPSHOT]
>         at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
[netty-all-4.1.14.Final.jar:4.1.14.Final]
>         at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
[netty-all-4.1.14.Final.jar:4.1.14.Final]
>         at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
[netty-all-4.1.14.Final.jar:4.1.14.Final]
>         at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310)
[netty-all-4.1.14.Final.jar:4.1.14.Final]
>         at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:284)
[netty-all-4.1.14.Final.jar:4.1.14.Final]
>         at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
[netty-all-4.1.14.Final.jar:4.1.14.Final]
>         at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
[netty-all-4.1.14.Final.jar:4.1.14.Final]
>         at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
[netty-all-4.1.14.Final.jar:4.1.14.Final]
>         at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1342)
[netty-all-4.1.14.Final.jar:4.1.14.Final]
>         at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
[netty-all-4.1.14.Final.jar:4.1.14.Final]
>         at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
[netty-all-4.1.14.Final.jar:4.1.14.Final]
>         at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:934)
[netty-all-4.1.14.Final.jar:4.1.14.Final]
>         at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:979)
[netty-all-4.1.14.Final.jar:4.1.14.Final]
>         at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe$1.run(AbstractEpollChannel.java:338)
[netty-all-4.1.14.Final.jar:4.1.14.Final]
>         at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
[netty-all-4.1.14.Final.jar:4.1.14.Final]
>         at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403)
[netty-all-4.1.14.Final.jar:4.1.14.Final]
>         at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:312) [netty-all-4.1.14.Final.jar:4.1.14.Final]
>         at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
[netty-all-4.1.14.Final.jar:4.1.14.Final]
>         at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_141]
> 14:57:02,456 WARN  [org.apache.activemq.artemis.core.server] AMQ222061: Client connection
failed, clearing up resources for session deb44765-97b9-11e7-9b2d-185e0fec8ce5
> 14:57:02,456 WARN  [org.apache.activemq.artemis.core.server] AMQ222061: Client connection
failed, clearing up resources for session de860bda-97b9-11e7-8f5e-185e0fec8ce5
> 14:57:02,456 WARN  [org.apache.activemq.artemis.core.server] AMQ222107: Cleared up resources
for session deb44765-97b9-11e7-9b2d-185e0fec8ce5
> 14:57:02,457 WARN  [org.apache.activemq.artemis.core.server] AMQ222061: Client connection
failed, clearing up resources for session ID:nixos-45797-1505221021784-1:1:-1
> 14:57:02,457 WARN  [org.apache.activemq.artemis.core.server] AMQ222107: Cleared up resources
for session ID:nixos-45797-1505221021784-1:1:-1
> 14:57:02,457 WARN  [org.apache.activemq.artemis.core.server] AMQ222107: Cleared up resources
for session de860bda-97b9-11e7-8f5e-185e0fec8ce5
> 14:57:02,474 WARN  [org.apache.activemq.artemis.core.server] AMQ222061: Client connection
failed, clearing up resources for session ID:nixos-45797-1505221021784-1:1:1
> 14:57:02,474 WARN  [org.apache.activemq.artemis.core.server] AMQ222107: Cleared up resources
for session ID:nixos-45797-1505221021784-1:1:1
> {noformat}



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

Mime
View raw message