Author: knoguchi
Date: Wed Jul  3 17:53:20 2019
New Revision: 1862506

URL: http://svn.apache.org/viewvc?rev=1862506&view=rev
Log:
PIG-5385: Skip calling extra gc() before spilling large bag when unnecessary 
(knoguchi)

Modified:
    pig/trunk/CHANGES.txt
    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=1862506&r1=1862505&r2=1862506&view=diff
==============================================================================
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Wed Jul  3 17:53:20 2019
@@ -26,6 +26,8 @@ PIG-5282: Upgade to Java 8 (satishsaley
  
 IMPROVEMENTS
 
+PIG-5385: Skip calling extra gc() before spilling large bag when unnecessary 
(knoguchi)
+
 PIG-5389: Passing null to REPLACE udf preventing JIT optimization (knoguchi)
 
 PIG-5382: Log the name when POStore fails on write (knoguchi)

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=1862506&r1=1862505&r2=1862506&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/impl/util/SpillableMemoryManager.java 
(original)
+++ pig/trunk/src/org/apache/pig/impl/util/SpillableMemoryManager.java Wed Jul  
3 17:53:20 2019
@@ -293,7 +293,8 @@ public class SpillableMemoryManager impl
                     // Do not invoke extraGC for GroupingSpillable. Its size 
will always exceed
                     // extraGCSpillSizeThreshold and the data is always strong 
referenced.
                     if( !extraGCCalled && extraGCSpillSizeThreshold != 0
-                        && toBeFreed > extraGCSpillSizeThreshold  && 
!isGroupingSpillable) {
+                        && toBeFreed > extraGCSpillSizeThreshold  && 
!isGroupingSpillable
+                        && 
n.getType().equals(MemoryNotificationInfo.MEMORY_THRESHOLD_EXCEEDED)) {
                         log.debug("Single spillable has size " + toBeFreed + 
"bytes. Calling extra gc()");
                         // this extra assignment to null is needed so that gc 
can free the
                         // spillable if nothing else is pointing at it


Reply via email to