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

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

Commit 1d1d6c8b4686f869df0ca5fc09c20128f8481cff in activemq-artemis's branch 
refs/heads/master from Clebert Suconic
[ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=1d1d6c8 ]

ARTEMIS-1416 Implementing cache on queue and address querying

This will cache the last query, optimizing most of the cases
This won't optimize the case where you are sending producers with different 
address,
but this is not the one I'm after now.


> 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
>
> # 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)

Reply via email to