[
https://issues.apache.org/jira/browse/FLUME-2197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14136949#comment-14136949
]
li xiang commented on FLUME-2197:
---------------------------------
Hi Roshan, Hari and all, I encountered a out-of-memory issue, I am not sure it
is a memory channel issue like this one, or it is a HDFS sink issue, as
FLUME-1850, how can I determine ? Thanks
1. Exception
30 Jul 2014 23:10:06,984 ERROR [SinkRunner-PollingRunner-DefaultSinkProcessor]
(org.apache.flume.sink.hdfs.HDFSEventSink.process:460) - process failed
java.lang.OutOfMemoryError: Java heap space
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:239)
at java.util.concurrent.FutureTask.get(FutureTask.java:102)
at
org.apache.flume.sink.hdfs.HDFSEventSink.callWithTimeout(HDFSEventSink.java:345)
at org.apache.flume.sink.hdfs.HDFSEventSink.append(HDFSEventSink.java:727)
at org.apache.flume.sink.hdfs.HDFSEventSink.process(HDFSEventSink.java:430)
at
org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:68)
at org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147)
at java.lang.Thread.run(Thread.java:738)
30 Jul 2014 23:10:06,981 WARN [pool-13-thread-4]
(org.apache.avro.ipc.NettyServer$NettyServerAvroHandler.exceptionCaught:201) -
Unexpected exception from downstream.
java.lang.OutOfMemoryError: Java heap space
at java.nio.HeapByteBuffer.<init>(HeapByteBuffer.java:50)
at java.nio.ByteBuffer.allocate(ByteBuffer.java:323)
at
org.apache.avro.ipc.NettyTransportCodec$NettyFrameDecoder.decodePackBody(NettyTransportCodec.java:192)
at
org.apache.avro.ipc.NettyTransportCodec$NettyFrameDecoder.decode(NettyTransportCodec.java:144)
at
org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:286)
at
org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:220)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:94)
at
org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedKeys(AbstractNioWorker.java:364)
at
org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:238)
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:38)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:897)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:919)
at java.lang.Thread.run(Thread.java:738)
2. IBM HeapAnalyzer show the leak suspect as :
A Linked List Data Structure Detected.
8,426,896,520 bytes (99.14 %) of Java heap is used by 931,705 instances of
java/util/concurrent/LinkedBlockingDeque$Node
Contains the following object:
- 931,705 instances of org/apache/flume/event/SimpleEvent holding
8,382,174,632 bytes
3. The reference tree is attached as HA_result.jpg, also by HeapAnalyzer
4. Javacore
3XMTHREADINFO3 Java callstack:
4XESTACKTRACE at java/lang/Throwable.fillInStackTrace(Native
Method)
4XESTACKTRACE at
java/lang/Throwable.<init>(Throwable.java:56(Compiled Code))
4XESTACKTRACE at java/lang/Throwable.<init>(Throwable.java:67)
4XESTACKTRACE at
java/lang/OutOfMemoryError.<init>(OutOfMemoryError.java:46)
4XESTACKTRACE at
java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.addConditionWaiter(AbstractQueuedSynchronizer.java:1812(Compiled
Code))
4XESTACKTRACE at
java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2027(Compiled
Code))
4XESTACKTRACE at
java/util/concurrent/DelayQueue.take(DelayQueue.java:175(Compiled Code))
4XESTACKTRACE at
java/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:620(Compiled
Code))
4XESTACKTRACE at
java/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:613(Compiled
Code))
4XESTACKTRACE at
java/util/concurrent/ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:958(Compiled
Code))
4XESTACKTRACE at
java/util/concurrent/ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
4XESTACKTRACE at java/lang/Thread.run(Thread.java:738)
> Memory Channel has GC issues
> ----------------------------
>
> Key: FLUME-2197
> URL: https://issues.apache.org/jira/browse/FLUME-2197
> Project: Flume
> Issue Type: Bug
> Reporter: Hari Shreedharan
> Assignee: Roshan Naik
> Attachments: HA_result.jpg, mem ch - mem alloc.png, spill ch - mem
> alloc.png
>
>
> Due to the fact that we use a LinkedBlockingDeque as the backing queue for
> the MemoryChannel, we end up hitting GC issues more often than we should.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)