Liwei Lin created PARQUET-529:
---------------------------------

             Summary: Avoid evoking job.toString() in ParquetLoader
                 Key: PARQUET-529
                 URL: https://issues.apache.org/jira/browse/PARQUET-529
             Project: Parquet
          Issue Type: Bug
          Components: parquet-pig
    Affects Versions: 1.8.0, 1.8.1
            Reporter: Liwei Lin
            Assignee: Liwei Lin
             Fix For: 1.9.0


When ran under hadoop2 environment and log level setting to _DEBUG_, 
_ParquetLoader_ would evoke _job.toString()_ in several methods, which might 
cause the whole application to stop due to :

{quote}
java.lang.IllegalStateException: Job in state DEFINE instead of RUNNING

    at org.apache.hadoop.mapreduce.Job.ensureState(Job.java:283)
    at org.apache.hadoop.mapreduce.Job.toString(Job.java:452)
    at java.lang.String.valueOf(String.java:2847)
    at java.lang.StringBuilder.append(StringBuilder.java:128)
    at org.apache.parquet.pig.ParquetLoader.getSchema(ParquetLoader.java:260)
    at 
org.apache.parquet.pig.TestParquetLoader.testSchema(TestParquetLoader.java:54)
    ...
{quote}

The reason is that in the hadoop 2.x branch, 
_org.apache.hadoop.mapreduce.Job.toString()_ has added an 
_ensureState(JobState.RUNNING)_ check; see map-reduce: Job.java#452. In 
contrast, the hadoop 1.x branch does not contain such checks, so 
_ParquetLoader_ works well.

This ticket simply avoids evoking _job.toString()_ in _ParquetLoader_.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to