You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Eugene Koifman (JIRA)" <ji...@apache.org> on 2018/01/10 20:46:00 UTC

[jira] [Created] (HIVE-18429) Compaction should handle a case when it produces no output

Eugene Koifman created HIVE-18429:
-------------------------------------

             Summary: Compaction should handle a case when it produces no output
                 Key: HIVE-18429
                 URL: https://issues.apache.org/jira/browse/HIVE-18429
             Project: Hive
          Issue Type: Bug
          Components: Transactions
    Affects Versions: 1.0.0
            Reporter: Eugene Koifman
            Assignee: Eugene Koifman


Suppose we start with empty delta_8_8 and delta_9_9 and compaction runs.
It will currently produce an MR job with 0 splits and so {{CompactorMR.TMP_LOCATION}} never gets created.  This causes {{CompactorOutputCommitted.commitJob()}} to fail when it tries to do 
 {{FileStatus[] contents = fs.listStatus(tmpLocation);}} since tmpLocation doesn't exist.

If compactor fails to produce delta_8_9 here it will fail to do further compaction unless new delta with data is created.  

If the number of empty deltas is > than HiveConf.ConfVars.COMPACTOR_MAX_NUM_DELTA, compaction will not be able to proceed at all.

It should produce a delta_8_9 in this case even if it's empty.






--
This message was sent by Atlassian JIRA
(v6.4.14#64029)