-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/34635/
-----------------------------------------------------------

Review request for pig.


Bugs: PIG-4564
    https://issues.apache.org/jira/browse/PIG-4564


Repository: pig


Description
-------

This patch also incorporates PIG-4012 fixing 

   The problem is we need to have POPartialAgg to be synchronous spill so that 
its memory consumption is reduced before we invoke System.gc() in 
SpillableMemoryManager. But for POPartialAgg to do the aggregation, it needs to 
read the next record which can block on registerSpillable if there is a bag in 
the record causing deadlock. This patch allows registering to the spillables if 
doing POPartialAgg. For other normal spills it just blocks as before. 
registerSpillable is still synchronized on spillables to avoid adding to 
spillables when the spillablesSR is being constructed. But it mainly relies on 
blockRegisterOnSpill variable to block from adding to spillables when the 
actual spill is in progress.


Diffs
-----

  
http://svn.apache.org/repos/asf/pig/trunk/src/org/apache/pig/impl/util/SpillableMemoryManager.java
 1681368 

Diff: https://reviews.apache.org/r/34635/diff/


Testing
-------

Manually tested for a large job with big bags and lot of spills.


Thanks,

Rohini Palaniswamy

Reply via email to