[
https://issues.apache.org/jira/browse/ARTEMIS-4208?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17700823#comment-17700823
]
Clebert Suconic commented on ARTEMIS-4208:
------------------------------------------
the issue is that the flush is being called within the chunkSend.
I'm not sure really how to test this.. I will just take the existing tests and
if they pass it's ok.
> OpenWire ChunkSend issuing CriticalAnalyzer
> -------------------------------------------
>
> Key: ARTEMIS-4208
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4208
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Affects Versions: 2.28.0
> Reporter: Clebert Suconic
> Priority: Major
> Fix For: 2.29.0
>
>
> Openwire large message send can eventually slow down and issue a
> CriticalAnalyzer.
> "Thread-15
> (ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$6@25ddbbbb)"
> Id=85 TIMED_WAITING on io.netty.channel.DefaultChannelPromise@2d6cc1dc
> at [email protected]/java.lang.Object.wait(Native Method)
> - waiting on io.netty.channel.DefaultChannelPromise@2d6cc1dc
> at [email protected]/java.lang.Object.wait(Object.java:462)
> at io.netty.util.concurrent.DefaultPromise.await0(DefaultPromise.java:679)
> at io.netty.util.concurrent.DefaultPromise.await(DefaultPromise.java:299)
> at
> org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnection.waitFor(NettyConnection.java:94)
> at
> org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnection.flushAndWait(NettyConnection.java:381)
> at
> org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnection.write(NettyConnection.java:375)
> at
> org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnection.write(NettyConnection.java:292)
> at
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.chunkSend(OpenWireConnection.java:588)
> at
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.physicalSend(OpenWireConnection.java:561)
> - locked
> org.apache.activemq.artemis.core.remoting.impl.netty.NettyServerConnection@45fefd05
> at
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.sendCommand(OpenWireConnection.java:890)
> at
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.deliverMessage(OpenWireConnection.java:686)
> at
> org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession.deliverMessage(AMQSession.java:558)
> at
> org.apache.activemq.artemis.core.protocol.openwire.amq.AMQConsumer.handleDeliver(AMQConsumer.java:295)
> at
> org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession.sendMessage(AMQSession.java:315)
> at
> org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.deliverStandardMessage(ServerConsumerImpl.java:1170)
> at
> org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.proceedDeliver(ServerConsumerImpl.java:510)
> at
> org.apache.activemq.artemis.core.server.impl.QueueImpl.proceedDeliver(QueueImpl.java:3886)
> at
> org.apache.activemq.artemis.core.server.impl.QueueImpl.deliver(QueueImpl.java:3179)
> at
> org.apache.activemq.artemis.core.server.impl.QueueImpl$DeliverRunner.run(QueueImpl.java:4260)
> at
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:56)
> at
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31)
> at
> org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:67)
> at
> org.apache.activemq.artemis.utils.actors.ProcessorBase$$Lambda$224/0x000000084033f040.run(Unknown
> Source)
> at
> [email protected]/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> at
> [email protected]/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> at
> org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)