You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pig.apache.org by "Richard Ding (JIRA)" <ji...@apache.org> on 2010/07/22 20:50:50 UTC

[jira] Created: (PIG-1513) Skewed join doesn't handle empty input directory

Skewed join doesn't handle empty input directory
------------------------------------------------

                 Key: PIG-1513
                 URL: https://issues.apache.org/jira/browse/PIG-1513
             Project: Pig
          Issue Type: Bug
            Reporter: Richard Ding
            Assignee: Richard Ding
             Fix For: 0.8.0



The following script

{code}
A = load 'input';
B = load 'emptydir';
C = join B by $0, A by $0 using 'skewed';
dump C
{code}

fails with "ERROR: java.lang.RuntimeException: Empty samples file';

In this case, the sample job has 0 maps.  Pig doesn't expect this and fails . 

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


[jira] Updated: (PIG-1513) Pig doesn't handle empty input directory

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

Richard Ding updated PIG-1513:
------------------------------

        Summary: Pig doesn't handle empty input directory  (was: Skewed join doesn't handle empty input directory)
    Description: 

The following script

{code}
A = load 'input';
B = load 'emptydir';
C = join B by $0, A by $0 using 'skewed';
store C into 'output';
{code}

fails with "ERROR: java.lang.RuntimeException: Empty samples file';

In this case, the sample job has 0 maps.  Pig doesn't expect this and fails . 

For merge join the script

The merge join script

{code}
A = load 'input';
B = load 'emptydir';
C = join A by $0, B by $0 using 'merge';
store C into 'output';
{code}

the sample job again has 0 maps and the script  fails with " ERROR 2176: Error processing right input during merge join".

But if we change the join order: 

{code}
A = load 'input';
B = load 'emptydir';
C = join B by $0, A by $0 using 'merge';
store C into 'output';
{code}

The second job (merge) now has 0 maps and 0 reduces. And it generates an empty 'output' directory.

Order by on empty directory works fine and generates empty part files.

  was:

The following script

{code}
A = load 'input';
B = load 'emptydir';
C = join B by $0, A by $0 using 'skewed';
dump C
{code}

fails with "ERROR: java.lang.RuntimeException: Empty samples file';

In this case, the sample job has 0 maps.  Pig doesn't expect this and fails . 


> Pig doesn't handle empty input directory
> ----------------------------------------
>
>                 Key: PIG-1513
>                 URL: https://issues.apache.org/jira/browse/PIG-1513
>             Project: Pig
>          Issue Type: Bug
>            Reporter: Richard Ding
>            Assignee: Richard Ding
>             Fix For: 0.8.0
>
>
> The following script
> {code}
> A = load 'input';
> B = load 'emptydir';
> C = join B by $0, A by $0 using 'skewed';
> store C into 'output';
> {code}
> fails with "ERROR: java.lang.RuntimeException: Empty samples file';
> In this case, the sample job has 0 maps.  Pig doesn't expect this and fails . 
> For merge join the script
> The merge join script
> {code}
> A = load 'input';
> B = load 'emptydir';
> C = join A by $0, B by $0 using 'merge';
> store C into 'output';
> {code}
> the sample job again has 0 maps and the script  fails with " ERROR 2176: Error processing right input during merge join".
> But if we change the join order: 
> {code}
> A = load 'input';
> B = load 'emptydir';
> C = join B by $0, A by $0 using 'merge';
> store C into 'output';
> {code}
> The second job (merge) now has 0 maps and 0 reduces. And it generates an empty 'output' directory.
> Order by on empty directory works fine and generates empty part files.

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


[jira] Updated: (PIG-1513) Pig doesn't handle empty input directory

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

Richard Ding updated PIG-1513:
------------------------------

          Status: Resolved  (was: Patch Available)
    Hadoop Flags: [Reviewed]
      Resolution: Fixed

> Pig doesn't handle empty input directory
> ----------------------------------------
>
>                 Key: PIG-1513
>                 URL: https://issues.apache.org/jira/browse/PIG-1513
>             Project: Pig
>          Issue Type: Bug
>            Reporter: Richard Ding
>            Assignee: Richard Ding
>             Fix For: 0.8.0
>
>         Attachments: PIG-1513.patch
>
>
> The following script
> {code}
> A = load 'input';
> B = load 'emptydir';
> C = join B by $0, A by $0 using 'skewed';
> store C into 'output';
> {code}
> fails with "ERROR: java.lang.RuntimeException: Empty samples file';
> In this case, the sample job has 0 maps.  Pig doesn't expect this and fails . 
> For merge join the script
> The merge join script
> {code}
> A = load 'input';
> B = load 'emptydir';
> C = join A by $0, B by $0 using 'merge';
> store C into 'output';
> {code}
> the sample job again has 0 maps and the script  fails with " ERROR 2176: Error processing right input during merge join".
> But if we change the join order: 
> {code}
> A = load 'input';
> B = load 'emptydir';
> C = join B by $0, A by $0 using 'merge';
> store C into 'output';
> {code}
> The second job (merge) now has 0 maps and 0 reduces. And it generates an empty 'output' directory.
> Order by on empty directory works fine and generates empty part files.

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


[jira] Updated: (PIG-1513) Pig doesn't handle empty input directory

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

Richard Ding updated PIG-1513:
------------------------------

    Attachment: PIG-1513.patch

> Pig doesn't handle empty input directory
> ----------------------------------------
>
>                 Key: PIG-1513
>                 URL: https://issues.apache.org/jira/browse/PIG-1513
>             Project: Pig
>          Issue Type: Bug
>            Reporter: Richard Ding
>            Assignee: Richard Ding
>             Fix For: 0.8.0
>
>         Attachments: PIG-1513.patch
>
>
> The following script
> {code}
> A = load 'input';
> B = load 'emptydir';
> C = join B by $0, A by $0 using 'skewed';
> store C into 'output';
> {code}
> fails with "ERROR: java.lang.RuntimeException: Empty samples file';
> In this case, the sample job has 0 maps.  Pig doesn't expect this and fails . 
> For merge join the script
> The merge join script
> {code}
> A = load 'input';
> B = load 'emptydir';
> C = join A by $0, B by $0 using 'merge';
> store C into 'output';
> {code}
> the sample job again has 0 maps and the script  fails with " ERROR 2176: Error processing right input during merge join".
> But if we change the join order: 
> {code}
> A = load 'input';
> B = load 'emptydir';
> C = join B by $0, A by $0 using 'merge';
> store C into 'output';
> {code}
> The second job (merge) now has 0 maps and 0 reduces. And it generates an empty 'output' directory.
> Order by on empty directory works fine and generates empty part files.

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


[jira] Updated: (PIG-1513) Pig doesn't handle empty input directory

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

Richard Ding updated PIG-1513:
------------------------------

    Status: Patch Available  (was: Open)

> Pig doesn't handle empty input directory
> ----------------------------------------
>
>                 Key: PIG-1513
>                 URL: https://issues.apache.org/jira/browse/PIG-1513
>             Project: Pig
>          Issue Type: Bug
>            Reporter: Richard Ding
>            Assignee: Richard Ding
>             Fix For: 0.8.0
>
>         Attachments: PIG-1513.patch
>
>
> The following script
> {code}
> A = load 'input';
> B = load 'emptydir';
> C = join B by $0, A by $0 using 'skewed';
> store C into 'output';
> {code}
> fails with "ERROR: java.lang.RuntimeException: Empty samples file';
> In this case, the sample job has 0 maps.  Pig doesn't expect this and fails . 
> For merge join the script
> The merge join script
> {code}
> A = load 'input';
> B = load 'emptydir';
> C = join A by $0, B by $0 using 'merge';
> store C into 'output';
> {code}
> the sample job again has 0 maps and the script  fails with " ERROR 2176: Error processing right input during merge join".
> But if we change the join order: 
> {code}
> A = load 'input';
> B = load 'emptydir';
> C = join B by $0, A by $0 using 'merge';
> store C into 'output';
> {code}
> The second job (merge) now has 0 maps and 0 reduces. And it generates an empty 'output' directory.
> Order by on empty directory works fine and generates empty part files.

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


[jira] Commented: (PIG-1513) Pig doesn't handle empty input directory

Posted by "Hadoop QA (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/PIG-1513?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12893433#action_12893433 ] 

Hadoop QA commented on PIG-1513:
--------------------------------

-1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12450727/PIG-1513.patch
  against trunk revision 979918.

    +1 @author.  The patch does not contain any @author tags.

    +1 tests included.  The patch appears to include 3 new or modified tests.

    +1 javadoc.  The javadoc tool did not generate any warning messages.

    +1 javac.  The applied patch does not increase the total number of javac compiler warnings.

    +1 findbugs.  The patch does not introduce any new Findbugs warnings.

    +1 release audit.  The applied patch does not increase the total number of release audit warnings.

    -1 core tests.  The patch failed core unit tests.

    -1 contrib tests.  The patch failed contrib unit tests.

Test results: http://hudson.zones.apache.org/hudson/job/Pig-Patch-h7.grid.sp2.yahoo.net/383/testReport/
Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Pig-Patch-h7.grid.sp2.yahoo.net/383/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
Console output: http://hudson.zones.apache.org/hudson/job/Pig-Patch-h7.grid.sp2.yahoo.net/383/console

This message is automatically generated.

> Pig doesn't handle empty input directory
> ----------------------------------------
>
>                 Key: PIG-1513
>                 URL: https://issues.apache.org/jira/browse/PIG-1513
>             Project: Pig
>          Issue Type: Bug
>            Reporter: Richard Ding
>            Assignee: Richard Ding
>             Fix For: 0.8.0
>
>         Attachments: PIG-1513.patch
>
>
> The following script
> {code}
> A = load 'input';
> B = load 'emptydir';
> C = join B by $0, A by $0 using 'skewed';
> store C into 'output';
> {code}
> fails with "ERROR: java.lang.RuntimeException: Empty samples file';
> In this case, the sample job has 0 maps.  Pig doesn't expect this and fails . 
> For merge join the script
> The merge join script
> {code}
> A = load 'input';
> B = load 'emptydir';
> C = join A by $0, B by $0 using 'merge';
> store C into 'output';
> {code}
> the sample job again has 0 maps and the script  fails with " ERROR 2176: Error processing right input during merge join".
> But if we change the join order: 
> {code}
> A = load 'input';
> B = load 'emptydir';
> C = join B by $0, A by $0 using 'merge';
> store C into 'output';
> {code}
> The second job (merge) now has 0 maps and 0 reduces. And it generates an empty 'output' directory.
> Order by on empty directory works fine and generates empty part files.

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


[jira] Commented: (PIG-1513) Pig doesn't handle empty input directory

Posted by "Richard Ding (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/PIG-1513?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12891366#action_12891366 ] 

Richard Ding commented on PIG-1513:
-----------------------------------

Changed the JIRA title to deal with general problem of empty input directory handling.

> Pig doesn't handle empty input directory
> ----------------------------------------
>
>                 Key: PIG-1513
>                 URL: https://issues.apache.org/jira/browse/PIG-1513
>             Project: Pig
>          Issue Type: Bug
>            Reporter: Richard Ding
>            Assignee: Richard Ding
>             Fix For: 0.8.0
>
>
> The following script
> {code}
> A = load 'input';
> B = load 'emptydir';
> C = join B by $0, A by $0 using 'skewed';
> store C into 'output';
> {code}
> fails with "ERROR: java.lang.RuntimeException: Empty samples file';
> In this case, the sample job has 0 maps.  Pig doesn't expect this and fails . 
> For merge join the script
> The merge join script
> {code}
> A = load 'input';
> B = load 'emptydir';
> C = join A by $0, B by $0 using 'merge';
> store C into 'output';
> {code}
> the sample job again has 0 maps and the script  fails with " ERROR 2176: Error processing right input during merge join".
> But if we change the join order: 
> {code}
> A = load 'input';
> B = load 'emptydir';
> C = join B by $0, A by $0 using 'merge';
> store C into 'output';
> {code}
> The second job (merge) now has 0 maps and 0 reduces. And it generates an empty 'output' directory.
> Order by on empty directory works fine and generates empty part files.

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


[jira] Commented: (PIG-1513) Pig doesn't handle empty input directory

Posted by "Richard Ding (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/PIG-1513?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12893744#action_12893744 ] 

Richard Ding commented on PIG-1513:
-----------------------------------

Manually ran and passed all core tests.

> Pig doesn't handle empty input directory
> ----------------------------------------
>
>                 Key: PIG-1513
>                 URL: https://issues.apache.org/jira/browse/PIG-1513
>             Project: Pig
>          Issue Type: Bug
>            Reporter: Richard Ding
>            Assignee: Richard Ding
>             Fix For: 0.8.0
>
>         Attachments: PIG-1513.patch
>
>
> The following script
> {code}
> A = load 'input';
> B = load 'emptydir';
> C = join B by $0, A by $0 using 'skewed';
> store C into 'output';
> {code}
> fails with "ERROR: java.lang.RuntimeException: Empty samples file';
> In this case, the sample job has 0 maps.  Pig doesn't expect this and fails . 
> For merge join the script
> The merge join script
> {code}
> A = load 'input';
> B = load 'emptydir';
> C = join A by $0, B by $0 using 'merge';
> store C into 'output';
> {code}
> the sample job again has 0 maps and the script  fails with " ERROR 2176: Error processing right input during merge join".
> But if we change the join order: 
> {code}
> A = load 'input';
> B = load 'emptydir';
> C = join B by $0, A by $0 using 'merge';
> store C into 'output';
> {code}
> The second job (merge) now has 0 maps and 0 reduces. And it generates an empty 'output' directory.
> Order by on empty directory works fine and generates empty part files.

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


[jira] Commented: (PIG-1513) Skewed join doesn't handle empty input directory

Posted by "Olga Natkovich (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/PIG-1513?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12891281#action_12891281 ] 

Olga Natkovich commented on PIG-1513:
-------------------------------------

Are we sure that the problem only occurs with skewed join? I would like to make this JIRA more generic and to make sure that pig returns empty results given empty input and short circuits the processing as early as possible

> Skewed join doesn't handle empty input directory
> ------------------------------------------------
>
>                 Key: PIG-1513
>                 URL: https://issues.apache.org/jira/browse/PIG-1513
>             Project: Pig
>          Issue Type: Bug
>            Reporter: Richard Ding
>            Assignee: Richard Ding
>             Fix For: 0.8.0
>
>
> The following script
> {code}
> A = load 'input';
> B = load 'emptydir';
> C = join B by $0, A by $0 using 'skewed';
> dump C
> {code}
> fails with "ERROR: java.lang.RuntimeException: Empty samples file';
> In this case, the sample job has 0 maps.  Pig doesn't expect this and fails . 

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


[jira] Commented: (PIG-1513) Pig doesn't handle empty input directory

Posted by "Thejas M Nair (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/PIG-1513?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12893838#action_12893838 ] 

Thejas M Nair commented on PIG-1513:
------------------------------------

+1.  please commit.


> Pig doesn't handle empty input directory
> ----------------------------------------
>
>                 Key: PIG-1513
>                 URL: https://issues.apache.org/jira/browse/PIG-1513
>             Project: Pig
>          Issue Type: Bug
>            Reporter: Richard Ding
>            Assignee: Richard Ding
>             Fix For: 0.8.0
>
>         Attachments: PIG-1513.patch
>
>
> The following script
> {code}
> A = load 'input';
> B = load 'emptydir';
> C = join B by $0, A by $0 using 'skewed';
> store C into 'output';
> {code}
> fails with "ERROR: java.lang.RuntimeException: Empty samples file';
> In this case, the sample job has 0 maps.  Pig doesn't expect this and fails . 
> For merge join the script
> The merge join script
> {code}
> A = load 'input';
> B = load 'emptydir';
> C = join A by $0, B by $0 using 'merge';
> store C into 'output';
> {code}
> the sample job again has 0 maps and the script  fails with " ERROR 2176: Error processing right input during merge join".
> But if we change the join order: 
> {code}
> A = load 'input';
> B = load 'emptydir';
> C = join B by $0, A by $0 using 'merge';
> store C into 'output';
> {code}
> The second job (merge) now has 0 maps and 0 reduces. And it generates an empty 'output' directory.
> Order by on empty directory works fine and generates empty part files.

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