You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Jiri Danek (JIRA)" <ji...@apache.org> on 2017/09/12 13:09:00 UTC
[jira] [Created] (ARTEMIS-1416) Queue autocreate does not
autocreate queue if address already exists
Jiri Danek created ARTEMIS-1416:
-----------------------------------
Summary: 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
Reporter: Jiri Danek
# 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)