activemq-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ARTEMIS-1416) Queue autocreate does not autocreate queue if address already exists
Date Sat, 04 Nov 2017 03:52:01 GMT

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

ASF subversion and git services commented on ARTEMIS-1416:
----------------------------------------------------------

Commit f3ace6afd726dc8e3c1c58c76e3fad3d5cfa357d in activemq-artemis's branch refs/heads/master
from [~gaohoward]
[ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=f3ace6a ]

ARTEMIS-1416 Queue is not autocreated if address already exists

- Fix on core and amqp.
- Add test to verify amqp's current large message behavior.
- Add test to openwire also just to verify.


> 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
>            Assignee: Howard Gao
>            Priority: Major
>
> # 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