Return-Path: X-Original-To: apmail-pig-dev-archive@www.apache.org Delivered-To: apmail-pig-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 31D8BEFE1 for ; Thu, 14 Feb 2013 17:24:13 +0000 (UTC) Received: (qmail 36819 invoked by uid 500); 14 Feb 2013 17:24:12 -0000 Delivered-To: apmail-pig-dev-archive@pig.apache.org Received: (qmail 36777 invoked by uid 500); 14 Feb 2013 17:24:12 -0000 Mailing-List: contact dev-help@pig.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@pig.apache.org Delivered-To: mailing list dev@pig.apache.org Received: (qmail 36768 invoked by uid 500); 14 Feb 2013 17:24:12 -0000 Delivered-To: apmail-hadoop-pig-dev@hadoop.apache.org Received: (qmail 36765 invoked by uid 99); 14 Feb 2013 17:24:12 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 14 Feb 2013 17:24:12 +0000 Date: Thu, 14 Feb 2013 17:24:12 +0000 (UTC) From: "Koji Noguchi (JIRA)" To: pig-dev@hadoop.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (PIG-3148) OutOfMemory exception while spilling stale DefaultDataBag. Extra option to gc() before spilling large bag. MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/PIG-3148?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13578507#comment-13578507 ] Koji Noguchi commented on PIG-3148: ----------------------------------- Thanks Dmitriy, Rohini! I like the fixed ratio suggestion. Is 5% ok? Maybe 10%? Also, do we still want a configurable flag to enable this feature? > OutOfMemory exception while spilling stale DefaultDataBag. Extra option to gc() before spilling large bag. > ---------------------------------------------------------------------------------------------------------- > > Key: PIG-3148 > URL: https://issues.apache.org/jira/browse/PIG-3148 > Project: Pig > Issue Type: Improvement > Components: impl > Reporter: Koji Noguchi > Assignee: Koji Noguchi > Attachments: pig-3148-v01.patch > > > Our user reported that one of their jobs in pig 0.10 occasionally failed with > 'Error: GC overhead limit exceeded' or 'Error: Java heap space', but rerunning it sometimes finishes successfully. > For 1G heap reducer, heap dump showed it contained two huge DefaultDataBag with 300-400MBytes each when failing with OOM. > Jstack at the time of OOM always showed that spill was running. > {noformat} > "Low Memory Detector" daemon prio=10 tid=0xb9c11800 nid=0xa52 runnable [0xb9afc000] > java.lang.Thread.State: RUNNABLE > at java.io.FileOutputStream.writeBytes(Native Method) > at java.io.FileOutputStream.write(FileOutputStream.java:260) > at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65) > at java.io.BufferedOutputStream.write(BufferedOutputStream.java:109) > - locked <0xe57c6390> (a java.io.BufferedOutputStream) > at java.io.DataOutputStream.write(DataOutputStream.java:90) > - locked <0xe57c60b8> (a java.io.DataOutputStream) > at java.io.FilterOutputStream.write(FilterOutputStream.java:80) > at org.apache.pig.data.utils.SedesHelper.writeBytes(SedesHelper.java:46) > at org.apache.pig.data.BinInterSedes.writeDatum(BinInterSedes.java:537) > at org.apache.pig.data.BinInterSedes.writeDatum(BinInterSedes.java:435) > at org.apache.pig.data.utils.SedesHelper.writeGenericTuple(SedesHelper.java:135) > at org.apache.pig.data.BinInterSedes.writeTuple(BinInterSedes.java:613) > at org.apache.pig.data.BinInterSedes.writeDatum(BinInterSedes.java:443) > at org.apache.pig.data.DefaultDataBag.spill(DefaultDataBag.java:106) > - locked <0xceb16190> (a java.util.ArrayList) > at org.apache.pig.impl.util.SpillableMemoryManager.handleNotification(SpillableMemoryManager.java:243) > - locked <0xbeb86318> (a java.util.LinkedList) > at sun.management.NotificationEmitterSupport.sendNotification(NotificationEmitterSupport.java:138) > at sun.management.MemoryImpl.createNotification(MemoryImpl.java:171) > at sun.management.MemoryPoolImpl$PoolSensor.triggerAction(MemoryPoolImpl.java:272) > at sun.management.Sensor.trigger(Sensor.java:120) > {noformat} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira