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)