[ 
https://issues.apache.org/jira/browse/PIG-129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12575968#action_12575968
 ] 

Amir Youssefi commented on PIG-129:
-----------------------------------

Here is summary of decisions made with Olga:

Goal of this JIRA is to have a means to create a temporary directory under 
Hadoop Task Dir. I will open a new JIRA  so others (Pi Song) can continue work 
on local mode and multiple directories.

 - We address the case in which Hadoop Platform is used.
 - We rely on Hadoop to clean up the directory.
 - We tested this on a cluster and observed logs showing creation of directory 
and actual directory/file being generated.
 - Added Code Block is actually called by a synchronized block of code. Second 
checking of directory creation is because of an observed case on a cluster. 

 

> need to create temp files in the task's working directory
> ---------------------------------------------------------
>
>                 Key: PIG-129
>                 URL: https://issues.apache.org/jira/browse/PIG-129
>             Project: Pig
>          Issue Type: Bug
>            Reporter: Olga Natkovich
>            Assignee: Amir Youssefi
>         Attachments: PIG-129.patch, TempAllocator0.patch
>
>
> Currently, pig creates temp data such is spilled bags in the directory 
> specified by java.io.tmpdir. The problem is that this directory is usually 
> shared by all tasks and can easily run out of space.
> A better approach would be to create this files in the temp dir inside of the 
> taks working directory as these locations usually have much mor space and 
> also they can be hosted on different disks so the performance could be better.
> There are 2 parts to this fix:
> (1) in org.apache.pig.data.DataBag to check if the temp directory exists and 
> create it if not before trying to create the temp file. This is somewhere 
> around line 390 in the code.
> (2) Change the mapred.child.java.opts in hadoop-site.xml to include new value 
> for tmpdir property to point to ./tmp. For instance: 
> <property>
>         <name>mapred.child.java.opts</name>
>         <value>-Xmx1024M -Djava.io.tmpdir="./tmp"</value>
>         <description>arguments passed to child jvms</description>
> </property>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to