You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Clebert Suconic (Jira)" <ji...@apache.org> on 2023/03/15 19:08:00 UTC

[jira] [Commented] (ARTEMIS-4208) OpenWire ChunkSend issuing CriticalAnalyzer

    [ 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 java.base@11.0.18/java.lang.Object.wait(Native Method)
>     -  waiting on io.netty.channel.DefaultChannelPromise@2d6cc1dc
>     at java.base@11.0.18/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 java.base@11.0.18/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>     at java.base@11.0.18/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)