You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Ning Zhang (JIRA)" <ji...@apache.org> on 2010/09/18 01:22:32 UTC

[jira] Created: (HIVE-1655) Adding consistency check at jobClose() when committing dynamic partitions

Adding consistency check at jobClose() when committing dynamic partitions
-------------------------------------------------------------------------

                 Key: HIVE-1655
                 URL: https://issues.apache.org/jira/browse/HIVE-1655
             Project: Hadoop Hive
          Issue Type: Improvement
            Reporter: Ning Zhang
            Assignee: Ning Zhang


In case of dynamic partition insert, FileSinkOperator generated a directory for a new partition and the files in the directory is named with '_tmp*'. When a task succeed, the file is renamed to remove the "_tmp", which essentially implement the "commit" semantics. A lot of exceptions could happen (process got killed, machine dies etc.) could left the _tmp files exist in the DP directory. These _tmp files should be deleted ("rolled back") at successful jobClose(). After the deletion, we should also delete any empty directories.

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


[jira] Updated: (HIVE-1655) Adding consistency check at jobClose() when committing dynamic partitions

Posted by "Namit Jain (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HIVE-1655?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Namit Jain updated HIVE-1655:
-----------------------------

           Status: Resolved  (was: Patch Available)
     Hadoop Flags: [Reviewed]
    Fix Version/s: 0.7.0
       Resolution: Fixed

committed. Thanks Ning

> Adding consistency check at jobClose() when committing dynamic partitions
> -------------------------------------------------------------------------
>
>                 Key: HIVE-1655
>                 URL: https://issues.apache.org/jira/browse/HIVE-1655
>             Project: Hadoop Hive
>          Issue Type: Improvement
>            Reporter: Ning Zhang
>            Assignee: Ning Zhang
>             Fix For: 0.7.0
>
>         Attachments: HIVE-1655.patch
>
>
> In case of dynamic partition insert, FileSinkOperator generated a directory for a new partition and the files in the directory is named with '_tmp*'. When a task succeed, the file is renamed to remove the "_tmp", which essentially implement the "commit" semantics. A lot of exceptions could happen (process got killed, machine dies etc.) could left the _tmp files exist in the DP directory. These _tmp files should be deleted ("rolled back") at successful jobClose(). After the deletion, we should also delete any empty directories.

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


[jira] Commented: (HIVE-1655) Adding consistency check at jobClose() when committing dynamic partitions

Posted by "Namit Jain (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HIVE-1655?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12913317#action_12913317 ] 

Namit Jain commented on HIVE-1655:
----------------------------------

+1

> Adding consistency check at jobClose() when committing dynamic partitions
> -------------------------------------------------------------------------
>
>                 Key: HIVE-1655
>                 URL: https://issues.apache.org/jira/browse/HIVE-1655
>             Project: Hadoop Hive
>          Issue Type: Improvement
>            Reporter: Ning Zhang
>            Assignee: Ning Zhang
>         Attachments: HIVE-1655.patch
>
>
> In case of dynamic partition insert, FileSinkOperator generated a directory for a new partition and the files in the directory is named with '_tmp*'. When a task succeed, the file is renamed to remove the "_tmp", which essentially implement the "commit" semantics. A lot of exceptions could happen (process got killed, machine dies etc.) could left the _tmp files exist in the DP directory. These _tmp files should be deleted ("rolled back") at successful jobClose(). After the deletion, we should also delete any empty directories.

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


[jira] Commented: (HIVE-1655) Adding consistency check at jobClose() when committing dynamic partitions

Posted by "Ning Zhang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HIVE-1655?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12910880#action_12910880 ] 

Ning Zhang commented on HIVE-1655:
----------------------------------

Actually the _tmp files are taken care of by FSPaths.commit() called at FileSinkOperator.close() and any missed _tmp* files are removed in jobClose() -> Utilities.removeTempOrDuplicateFiles(). The only missing piece is the remove the empty directories at jobClose().

> Adding consistency check at jobClose() when committing dynamic partitions
> -------------------------------------------------------------------------
>
>                 Key: HIVE-1655
>                 URL: https://issues.apache.org/jira/browse/HIVE-1655
>             Project: Hadoop Hive
>          Issue Type: Improvement
>            Reporter: Ning Zhang
>            Assignee: Ning Zhang
>
> In case of dynamic partition insert, FileSinkOperator generated a directory for a new partition and the files in the directory is named with '_tmp*'. When a task succeed, the file is renamed to remove the "_tmp", which essentially implement the "commit" semantics. A lot of exceptions could happen (process got killed, machine dies etc.) could left the _tmp files exist in the DP directory. These _tmp files should be deleted ("rolled back") at successful jobClose(). After the deletion, we should also delete any empty directories.

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


[jira] Updated: (HIVE-1655) Adding consistency check at jobClose() when committing dynamic partitions

Posted by "Ning Zhang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HIVE-1655?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ning Zhang updated HIVE-1655:
-----------------------------

    Attachment: HIVE-1655.patch

> Adding consistency check at jobClose() when committing dynamic partitions
> -------------------------------------------------------------------------
>
>                 Key: HIVE-1655
>                 URL: https://issues.apache.org/jira/browse/HIVE-1655
>             Project: Hadoop Hive
>          Issue Type: Improvement
>            Reporter: Ning Zhang
>            Assignee: Ning Zhang
>         Attachments: HIVE-1655.patch
>
>
> In case of dynamic partition insert, FileSinkOperator generated a directory for a new partition and the files in the directory is named with '_tmp*'. When a task succeed, the file is renamed to remove the "_tmp", which essentially implement the "commit" semantics. A lot of exceptions could happen (process got killed, machine dies etc.) could left the _tmp files exist in the DP directory. These _tmp files should be deleted ("rolled back") at successful jobClose(). After the deletion, we should also delete any empty directories.

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


[jira] Updated: (HIVE-1655) Adding consistency check at jobClose() when committing dynamic partitions

Posted by "Ning Zhang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HIVE-1655?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ning Zhang updated HIVE-1655:
-----------------------------

    Status: Patch Available  (was: Open)

> Adding consistency check at jobClose() when committing dynamic partitions
> -------------------------------------------------------------------------
>
>                 Key: HIVE-1655
>                 URL: https://issues.apache.org/jira/browse/HIVE-1655
>             Project: Hadoop Hive
>          Issue Type: Improvement
>            Reporter: Ning Zhang
>            Assignee: Ning Zhang
>         Attachments: HIVE-1655.patch
>
>
> In case of dynamic partition insert, FileSinkOperator generated a directory for a new partition and the files in the directory is named with '_tmp*'. When a task succeed, the file is renamed to remove the "_tmp", which essentially implement the "commit" semantics. A lot of exceptions could happen (process got killed, machine dies etc.) could left the _tmp files exist in the DP directory. These _tmp files should be deleted ("rolled back") at successful jobClose(). After the deletion, we should also delete any empty directories.

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