[ 
https://issues.apache.org/jira/browse/MAPREDUCE-6854?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sunil Govindan updated MAPREDUCE-6854:
--------------------------------------
    Target Version/s: 3.3.0  (was: 3.2.0)

Bulk update: moved all 3.2.0 non-blocker issues, please move back if it is a 
blocker.

> Each map task should create a unique temporary name that includes an object 
> name
> --------------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-6854
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-6854
>             Project: Hadoop Map/Reduce
>          Issue Type: Improvement
>          Components: distcp
>    Affects Versions: 3.0.0-alpha2
>            Reporter: Gil Vernik
>            Priority: Major
>              Labels: patch
>         Attachments: HADOOP-6854-001.patch, HADOOP-6854-002.patch
>
>
> Consider an example: a local file "/data/a.txt"  need to be copied into 
> swift://container.service/data/a.txt
> The way distcp works is that first it will upload "/data/a.txt" into 
> swift://container.mil01/data/.distcp.tmp.attempt_local2036034928_0001_m_000000_0
> Upon completion distcp will move   
> swift://container.mil01/data/.distcp.tmp.attempt_local2036034928_0001_m_000000_0
>  into swift://container.mil01/data/a.txt
> ************************************
> The temporary file naming convention assumes that each map task will 
> sequentially create objects as swift://container.mil01/.distcp.tmp.attempt_ID
> and then rename them to the final names.  Most of Hadoop eco system 
> components use object.name which is part of the temporary name, however 
> distcp doesn't use such approach.
> This JIRA propose to add a configuration key indicating that temporary 
> objects will also include object name as part of their temporary file name,
> For example
> "/data/a.txt" will be uploaded into 
> "swift://container.mil01/data/a.txt.distcp.tmp.attempt_local2036034928_0001_m_000000_0"
> "a.txt.distcp.tmp.attempt_local2036034928_0001_m_000000_0" doesn't affects 
> flows in the access drivers, since "a.txt" is not considered as a 
> sub-directory so no special operations will be taken. 
> The benefits of the patch :
> 1. Temp object names will be better distributed in object stores, since they 
> all has different prefix.
> 2. Sometimes it's not possible to debug what data is copied and what failed. 
> Sometimes temp files are not renamed, it will be much better if expecting 
> temp name - one can figure what object names were copied.
> 3. Different systems may expect 
> "a.txt.distcp.tmp.attempt_local2036034928_0001_m_000000_0" and extract value 
> prior "distcp.tmp" thus getting destination object name.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: mapreduce-issues-h...@hadoop.apache.org

Reply via email to