You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pig.apache.org by "Cheolsoo Park (JIRA)" <ji...@apache.org> on 2012/09/06 07:36:07 UTC

[jira] [Created] (PIG-2909) Add a new option for ignoring corrupted files to AvroStorage load func

Cheolsoo Park created PIG-2909:
----------------------------------

             Summary: Add a new option for ignoring corrupted files to AvroStorage load func
                 Key: PIG-2909
                 URL: https://issues.apache.org/jira/browse/PIG-2909
             Project: Pig
          Issue Type: Bug
          Components: piggybank
    Affects Versions: 0.10.0
            Reporter: Cheolsoo Park
            Assignee: Cheolsoo Park


Currently, AvroStorage load fails with AvroRuntimeException when encountering corrupted input files. For example,

{code}
ERROR 2997: Unable to recreate exception from backed error: java.io.IOException: org.apache.avro.AvroRuntimeException: java.io.IOException: Invalid sync!
	at org.apache.pig.piggybank.storage.avro.AvroStorage.getNext(AvroStorage.java:283)
{code}

But it is not always desirable to fail the Pig job for bad files. It is sometimes more useful to skip them and continue.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (PIG-2909) Add a new option for ignoring corrupted files to AvroStorage load func

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

Cheolsoo Park updated PIG-2909:
-------------------------------

    Attachment: PIG-2909-2.patch
    
> Add a new option for ignoring corrupted files to AvroStorage load func
> ----------------------------------------------------------------------
>
>                 Key: PIG-2909
>                 URL: https://issues.apache.org/jira/browse/PIG-2909
>             Project: Pig
>          Issue Type: Improvement
>          Components: piggybank
>    Affects Versions: 0.10.0
>            Reporter: Cheolsoo Park
>            Assignee: Cheolsoo Park
>         Attachments: PIG-2909-2.patch, PIG-2909-avro_test_files.tar.gz, PIG-2909.patch
>
>
> Currently, AvroStorage load fails with AvroRuntimeException when encountering corrupted input files. For example,
> {code}
> ERROR 2997: Unable to recreate exception from backed error: java.io.IOException: org.apache.avro.AvroRuntimeException: java.io.IOException: Invalid sync!
> 	at org.apache.pig.piggybank.storage.avro.AvroStorage.getNext(AvroStorage.java:283)
> {code}
> But it is not always desirable to fail the Pig job for bad files. It is sometimes more useful to skip them and continue.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (PIG-2909) Add a new option for ignoring corrupted files to AvroStorage load func

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

Alan Gates commented on PIG-2909:
---------------------------------

A couple of small comments posted on review board.  They're both suggestions that I won't insist on.  Let me know if you want to make any modifications per my comments or go with what's here and I'll run the tests and check it in.
                
> Add a new option for ignoring corrupted files to AvroStorage load func
> ----------------------------------------------------------------------
>
>                 Key: PIG-2909
>                 URL: https://issues.apache.org/jira/browse/PIG-2909
>             Project: Pig
>          Issue Type: Improvement
>          Components: piggybank
>    Affects Versions: 0.10.0
>            Reporter: Cheolsoo Park
>            Assignee: Cheolsoo Park
>         Attachments: PIG-2909-avro_test_files.tar.gz, PIG-2909.patch
>
>
> Currently, AvroStorage load fails with AvroRuntimeException when encountering corrupted input files. For example,
> {code}
> ERROR 2997: Unable to recreate exception from backed error: java.io.IOException: org.apache.avro.AvroRuntimeException: java.io.IOException: Invalid sync!
> 	at org.apache.pig.piggybank.storage.avro.AvroStorage.getNext(AvroStorage.java:283)
> {code}
> But it is not always desirable to fail the Pig job for bad files. It is sometimes more useful to skip them and continue.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (PIG-2909) Add a new option for ignoring corrupted files to AvroStorage load func

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

Cheolsoo Park commented on PIG-2909:
------------------------------------

Thank you very much sir! I agree with your suggestions, so please let me update my patch.
                
> Add a new option for ignoring corrupted files to AvroStorage load func
> ----------------------------------------------------------------------
>
>                 Key: PIG-2909
>                 URL: https://issues.apache.org/jira/browse/PIG-2909
>             Project: Pig
>          Issue Type: Improvement
>          Components: piggybank
>    Affects Versions: 0.10.0
>            Reporter: Cheolsoo Park
>            Assignee: Cheolsoo Park
>         Attachments: PIG-2909-avro_test_files.tar.gz, PIG-2909.patch
>
>
> Currently, AvroStorage load fails with AvroRuntimeException when encountering corrupted input files. For example,
> {code}
> ERROR 2997: Unable to recreate exception from backed error: java.io.IOException: org.apache.avro.AvroRuntimeException: java.io.IOException: Invalid sync!
> 	at org.apache.pig.piggybank.storage.avro.AvroStorage.getNext(AvroStorage.java:283)
> {code}
> But it is not always desirable to fail the Pig job for bad files. It is sometimes more useful to skip them and continue.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (PIG-2909) Add a new option for ignoring corrupted files to AvroStorage load func

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

Alan Gates updated PIG-2909:
----------------------------

       Resolution: Fixed
    Fix Version/s: 0.11
           Status: Resolved  (was: Patch Available)

Patch 2 plus new tests checked in.  Thanks Cheolsoo.
                
> Add a new option for ignoring corrupted files to AvroStorage load func
> ----------------------------------------------------------------------
>
>                 Key: PIG-2909
>                 URL: https://issues.apache.org/jira/browse/PIG-2909
>             Project: Pig
>          Issue Type: Improvement
>          Components: piggybank
>    Affects Versions: 0.10.0
>            Reporter: Cheolsoo Park
>            Assignee: Cheolsoo Park
>             Fix For: 0.11
>
>         Attachments: PIG-2909-2.patch, PIG-2909-avro_test_files.tar.gz, PIG-2909.patch
>
>
> Currently, AvroStorage load fails with AvroRuntimeException when encountering corrupted input files. For example,
> {code}
> ERROR 2997: Unable to recreate exception from backed error: java.io.IOException: org.apache.avro.AvroRuntimeException: java.io.IOException: Invalid sync!
> 	at org.apache.pig.piggybank.storage.avro.AvroStorage.getNext(AvroStorage.java:283)
> {code}
> But it is not always desirable to fail the Pig job for bad files. It is sometimes more useful to skip them and continue.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (PIG-2909) Add a new option for ignoring corrupted files to AvroStorage load func

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

Cheolsoo Park updated PIG-2909:
-------------------------------

    Status: Patch Available  (was: Open)
    
> Add a new option for ignoring corrupted files to AvroStorage load func
> ----------------------------------------------------------------------
>
>                 Key: PIG-2909
>                 URL: https://issues.apache.org/jira/browse/PIG-2909
>             Project: Pig
>          Issue Type: Bug
>          Components: piggybank
>    Affects Versions: 0.10.0
>            Reporter: Cheolsoo Park
>            Assignee: Cheolsoo Park
>         Attachments: PIG-2909-avro_test_files.tar.gz, PIG-2909.patch
>
>
> Currently, AvroStorage load fails with AvroRuntimeException when encountering corrupted input files. For example,
> {code}
> ERROR 2997: Unable to recreate exception from backed error: java.io.IOException: org.apache.avro.AvroRuntimeException: java.io.IOException: Invalid sync!
> 	at org.apache.pig.piggybank.storage.avro.AvroStorage.getNext(AvroStorage.java:283)
> {code}
> But it is not always desirable to fail the Pig job for bad files. It is sometimes more useful to skip them and continue.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (PIG-2909) Add a new option for ignoring corrupted files to AvroStorage load func

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

Cheolsoo Park commented on PIG-2909:
------------------------------------

I updated my patch. I also added cleanupOnSuccess() to AvroStorage for PIG-1891.
                
> Add a new option for ignoring corrupted files to AvroStorage load func
> ----------------------------------------------------------------------
>
>                 Key: PIG-2909
>                 URL: https://issues.apache.org/jira/browse/PIG-2909
>             Project: Pig
>          Issue Type: Improvement
>          Components: piggybank
>    Affects Versions: 0.10.0
>            Reporter: Cheolsoo Park
>            Assignee: Cheolsoo Park
>         Attachments: PIG-2909-2.patch, PIG-2909-avro_test_files.tar.gz, PIG-2909.patch
>
>
> Currently, AvroStorage load fails with AvroRuntimeException when encountering corrupted input files. For example,
> {code}
> ERROR 2997: Unable to recreate exception from backed error: java.io.IOException: org.apache.avro.AvroRuntimeException: java.io.IOException: Invalid sync!
> 	at org.apache.pig.piggybank.storage.avro.AvroStorage.getNext(AvroStorage.java:283)
> {code}
> But it is not always desirable to fail the Pig job for bad files. It is sometimes more useful to skip them and continue.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (PIG-2909) Add a new option for ignoring corrupted files to AvroStorage load func

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

Cheolsoo Park updated PIG-2909:
-------------------------------

    Attachment: PIG-2909.patch
                PIG-2909-avro_test_files.tar.gz

Attached is a patch that adds a new option 'ignoreBadFiles' to AvroStorage load. When it's enabled, AvroStorage load func skips bad files instead of failing.

I am also attaching two test cases:
- Load a corrupted avro file with 'ignoreBadFiles'.
- Load a corrupted avro file without'ignoreBadFiles'.
                
> Add a new option for ignoring corrupted files to AvroStorage load func
> ----------------------------------------------------------------------
>
>                 Key: PIG-2909
>                 URL: https://issues.apache.org/jira/browse/PIG-2909
>             Project: Pig
>          Issue Type: Bug
>          Components: piggybank
>    Affects Versions: 0.10.0
>            Reporter: Cheolsoo Park
>            Assignee: Cheolsoo Park
>         Attachments: PIG-2909-avro_test_files.tar.gz, PIG-2909.patch
>
>
> Currently, AvroStorage load fails with AvroRuntimeException when encountering corrupted input files. For example,
> {code}
> ERROR 2997: Unable to recreate exception from backed error: java.io.IOException: org.apache.avro.AvroRuntimeException: java.io.IOException: Invalid sync!
> 	at org.apache.pig.piggybank.storage.avro.AvroStorage.getNext(AvroStorage.java:283)
> {code}
> But it is not always desirable to fail the Pig job for bad files. It is sometimes more useful to skip them and continue.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (PIG-2909) Add a new option for ignoring corrupted files to AvroStorage load func

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

Cheolsoo Park updated PIG-2909:
-------------------------------

    Issue Type: Improvement  (was: Bug)
    
> Add a new option for ignoring corrupted files to AvroStorage load func
> ----------------------------------------------------------------------
>
>                 Key: PIG-2909
>                 URL: https://issues.apache.org/jira/browse/PIG-2909
>             Project: Pig
>          Issue Type: Improvement
>          Components: piggybank
>    Affects Versions: 0.10.0
>            Reporter: Cheolsoo Park
>            Assignee: Cheolsoo Park
>         Attachments: PIG-2909-avro_test_files.tar.gz, PIG-2909.patch
>
>
> Currently, AvroStorage load fails with AvroRuntimeException when encountering corrupted input files. For example,
> {code}
> ERROR 2997: Unable to recreate exception from backed error: java.io.IOException: org.apache.avro.AvroRuntimeException: java.io.IOException: Invalid sync!
> 	at org.apache.pig.piggybank.storage.avro.AvroStorage.getNext(AvroStorage.java:283)
> {code}
> But it is not always desirable to fail the Pig job for bad files. It is sometimes more useful to skip them and continue.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (PIG-2909) Add a new option for ignoring corrupted files to AvroStorage load func

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

Cheolsoo Park commented on PIG-2909:
------------------------------------

Review board:
https://reviews.apache.org/r/6940/
                
> Add a new option for ignoring corrupted files to AvroStorage load func
> ----------------------------------------------------------------------
>
>                 Key: PIG-2909
>                 URL: https://issues.apache.org/jira/browse/PIG-2909
>             Project: Pig
>          Issue Type: Bug
>          Components: piggybank
>    Affects Versions: 0.10.0
>            Reporter: Cheolsoo Park
>            Assignee: Cheolsoo Park
>         Attachments: PIG-2909-avro_test_files.tar.gz, PIG-2909.patch
>
>
> Currently, AvroStorage load fails with AvroRuntimeException when encountering corrupted input files. For example,
> {code}
> ERROR 2997: Unable to recreate exception from backed error: java.io.IOException: org.apache.avro.AvroRuntimeException: java.io.IOException: Invalid sync!
> 	at org.apache.pig.piggybank.storage.avro.AvroStorage.getNext(AvroStorage.java:283)
> {code}
> But it is not always desirable to fail the Pig job for bad files. It is sometimes more useful to skip them and continue.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira