You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by ro...@apache.org on 2015/08/18 21:49:12 UTC
svn commit: r1696487 - in /pig/trunk: ./
src/org/apache/pig/backend/hadoop/executionengine/tez/runtime/
src/org/apache/pig/backend/hadoop/executionengine/tez/util/
src/org/apache/pig/impl/util/
Author: rohini
Date: Tue Aug 18 19:49:11 2015
New Revision: 1696487
URL: http://svn.apache.org/r1696487
Log:
PIG-4654: Reduce tez memory.reserve-fraction and clear spillables for better memory utilization (rohini)
Modified:
pig/trunk/CHANGES.txt
pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/tez/runtime/PigProcessor.java
pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/tez/util/MRToTezHelper.java
pig/trunk/src/org/apache/pig/impl/util/SpillableMemoryManager.java
Modified: pig/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1696487&r1=1696486&r2=1696487&view=diff
==============================================================================
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Tue Aug 18 19:49:11 2015
@@ -38,6 +38,8 @@ PIG-4639: Add better parser for Apache H
BUG FIXES
+PIG-4654: Reduce tez memory.reserve-fraction and clear spillables for better memory utilization (rohini)
+
PIG-4628: Pig 0.14 job with order by fails in mapreduce mode with Oozie (knoguchi)
PIG-4651: Optimize NullablePartitionWritable serialization for skewed join (rohini)
Modified: pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/tez/runtime/PigProcessor.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/tez/runtime/PigProcessor.java?rev=1696487&r1=1696486&r2=1696487&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/tez/runtime/PigProcessor.java (original)
+++ pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/tez/runtime/PigProcessor.java Tue Aug 18 19:49:11 2015
@@ -193,6 +193,8 @@ public class PigProcessor extends Abstra
leaf = leaves.get(0);
}
+ LOG.info("Aliases being processed per job phase (AliasName[line,offset]): " + conf.get("pig.alias.location"));
+
runPipeline(leaf);
// Calling EvalFunc.finish()
Modified: pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/tez/util/MRToTezHelper.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/tez/util/MRToTezHelper.java?rev=1696487&r1=1696486&r2=1696487&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/tez/util/MRToTezHelper.java (original)
+++ pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/tez/util/MRToTezHelper.java Tue Aug 18 19:49:11 2015
@@ -180,6 +180,9 @@ public class MRToTezHelper {
tezConf.get(MRJobConfig.JOB_CANCEL_DELEGATION_TOKEN));
}
+ // Hardcoding at AM level instead of setting per vertex till TEZ-2710 is available
+ dagAMConf.setIfUnset(TezConfiguration.TEZ_TASK_SCALE_MEMORY_RESERVE_FRACTION, "0.5");
+
removeUnwantedMRSettings(dagAMConf);
return dagAMConf;
Modified: pig/trunk/src/org/apache/pig/impl/util/SpillableMemoryManager.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/impl/util/SpillableMemoryManager.java?rev=1696487&r1=1696486&r2=1696487&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/impl/util/SpillableMemoryManager.java (original)
+++ pig/trunk/src/org/apache/pig/impl/util/SpillableMemoryManager.java Tue Aug 18 19:49:11 2015
@@ -36,6 +36,8 @@ import javax.management.openmbean.Compos
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.pig.JVMReuseManager;
+import org.apache.pig.StaticDataCleanup;
/**
* This class Tracks the tenured pool and a list of Spillable objects. When memory gets low, this
@@ -48,7 +50,7 @@ import org.apache.commons.logging.LogFac
*/
public class SpillableMemoryManager implements NotificationListener {
- private final Log log = LogFactory.getLog(getClass());
+ private static final Log log = LogFactory.getLog(SpillableMemoryManager.class);
private LinkedList<WeakReference<Spillable>> spillables = new LinkedList<WeakReference<Spillable>>();
// References to spillables with size
@@ -89,7 +91,17 @@ public class SpillableMemoryManager impl
private volatile boolean blockRegisterOnSpill = false;
- private static volatile SpillableMemoryManager manager = new SpillableMemoryManager();
+ private static final SpillableMemoryManager manager = new SpillableMemoryManager();
+
+ static {
+ JVMReuseManager.getInstance().registerForStaticDataCleanup(SpillableMemoryManager.class);
+ }
+
+ @StaticDataCleanup
+ public static void cleanupStaticData() {
+ manager.spillables.clear();
+ manager.accumulatedFreeSize = 0L;
+ }
private SpillableMemoryManager() {
((NotificationEmitter)ManagementFactory.getMemoryMXBean()).addNotificationListener(this, null, null);