[
https://issues.apache.org/jira/browse/ARTEMIS-3105?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17280602#comment-17280602
]
ASF subversion and git services commented on ARTEMIS-3105:
----------------------------------------------------------
Commit 9c5ec1b07ccf908adab1bec3c5ef7d3f778f94a4 in activemq-artemis's branch
refs/heads/master from 岳豹
[ https://gitbox.apache.org/repos/asf?p=activemq-artemis.git;h=9c5ec1b ]
ARTEMIS-3105 large message file not closed on backup side
> Large message file not closed on backup side
> --------------------------------------------
>
> Key: ARTEMIS-3105
> URL: https://issues.apache.org/jira/browse/ARTEMIS-3105
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Components: Broker
> Affects Versions: 2.16.0
> Reporter: yuebao
> Priority: Major
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> We send a large number of large messages to the cluster, on the backup side,
> we found error message of too many open files. The detailed log is as follows:
> {code:java}
> 2021-02-06 17:40:29,793 WARN [org.apache.activemq.artemis.core.server]
> AMQ222010: Critical IO Error, shutting down the server.
> file=NIOSequentialFile
> /opt/apache/activemq/brokers/habroker01/./data/large-messages/21475041553.msg,
>
> message=/opt/apache/activemq/brokers/habroker01/./data/large-messages/21475041553.msg
> (Too many open files): ActiveMQIOErrorException[errorType=IO_ERROR
> message=/opt/apache/activemq/brokers/habroker01/./data/large-messages/21475041553.msg
> (Too many open files)]
> at
> org.apache.activemq.artemis.core.io.nio.NIOSequentialFile.open(NIOSequentialFile.java:87)
> [artemis-journal-2.4.0.jar:2.4.0]
> at
> org.apache.activemq.artemis.core.io.nio.NIOSequentialFile.open(NIOSequentialFile.java:73)
> [artemis-journal-2.4.0.jar:2.4.0]
> at
> org.apache.activemq.artemis.core.persistence.impl.journal.LargeServerMessageImpl.openFile(LargeServerMessageImpl.java:385)
> [artemis-server-2.4.0.jar:2.4.0]
> at
> org.apache.activemq.artemis.core.persistence.impl.journal.LargeServerMessageImpl.validateFile(LargeServerMessageImpl.java:364)
> [artemis-server-2.4.0.jar:2.4.0]
> at
> org.apache.activemq.artemis.core.persistence.impl.journal.LargeServerMessageImpl.addBytes(LargeServerMessageImpl.java:120)
> [artemis-server-2.4.0.jar:2.4.0]
> at
> org.apache.activemq.artemis.core.replication.ReplicationEndpoint.handleLargeMessageWrite(ReplicationEndpoint.java:623)
> [artemis-server-2.4.0.jar:2.4.0]
> at
> org.apache.activemq.artemis.core.replication.ReplicationEndpoint.handlePacket(ReplicationEndpoint.java:216)
> [artemis-server-2.4.0.jar:2.4.0]
> at
> org.apache.activemq.artemis.core.protocol.core.impl.ChannelImpl.handlePacket(ChannelImpl.java:638)
> [artemis-core-client-2.4.0.jar:2.4.0]
> at
> org.apache.activemq.artemis.core.protocol.core.impl.RemotingConnectionImpl.doBufferReceived(RemotingConnectionImpl.java:392)
> [artemis-core-client-2.4.0.jar:2.4.0]
> at
> org.apache.activemq.artemis.core.protocol.core.impl.RemotingConnectionImpl.bufferReceived(RemotingConnectionImpl.java:374)
> [artemis-core-client-2.4.0.jar:2.4.0]
> at
> org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl$DelegatingBufferHandler.bufferReceived(ClientSessionFactoryImpl.java:1148)
> [artemis-core-client-2.4.0.jar:2.4.0]
> at
> org.apache.activemq.artemis.core.remoting.impl.netty.ActiveMQChannelHandler.channelRead(ActiveMQChannelHandler.java:68)
> [artemis-core-client-2.4.0.jar:2.4.0]
> at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
> [netty-all-4.1.16.Final.jar:4.1.16.Final]
> at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
> [netty-all-4.1.16.Final.jar:4.1.16.Final]
> at
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
> [netty-all-4.1.16.Final.jar:4.1.16.Final]
> at
> io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310)
> [netty-all-4.1.16.Final.jar:4.1.16.Final]
> at
> io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:284)
> [netty-all-4.1.16.Final.jar:4.1.16.Final]
> at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
> [netty-all-4.1.16.Final.jar:4.1.16.Final]
> at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
> [netty-all-4.1.16.Final.jar:4.1.16.Final]
> at
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
> [netty-all-4.1.16.Final.jar:4.1.16.Final]
> at
> io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1359)
> [netty-all-4.1.16.Final.jar:4.1.16.Final]
> at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
> [netty-all-4.1.16.Final.jar:4.1.16.Final]
> at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
> [netty-all-4.1.16.Final.jar:4.1.16.Final]
> at
> io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:935)
> [netty-all-4.1.16.Final.jar:4.1.16.Final]
> at
> io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:797)
> [netty-all-4.1.16.Final.jar:4.1.16.Final]
> at
> io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:404)
> [netty-all-4.1.16.Final.jar:4.1.16.Final]
> at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:304)
> [netty-all-4.1.16.Final.jar:4.1.16.Final]
> at
> io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
> [netty-all-4.1.16.Final.jar:4.1.16.Final]
> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_92-SUNINGJVM]
> Caused by: java.io.FileNotFoundException:
> /opt/apache/activemq/brokers/habroker01/./data/large-messages/21475041553.msg
> (Too many open files)
> at java.io.RandomAccessFile.open0(Native Method)
> [rt.jar:1.8.0_92-SUNINGJVM]
> at java.io.RandomAccessFile.open(RandomAccessFile.java:316)
> [rt.jar:1.8.0_92-SUNINGJVM]
> at java.io.RandomAccessFile.<init>(RandomAccessFile.java:243)
> [rt.jar:1.8.0_92-SUNINGJVM]
> at
> org.apache.activemq.artemis.core.io.nio.NIOSequentialFile.open(NIOSequentialFile.java:79)
> [artemis-journal-2.4.0.jar:2.4.0]
> ... 28 more
> {code}
> We think that large message is released on live side but not released on the
> backup side, when receive the last chunk.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)