diff --git a/ql/src/java/org/apache/hadoop/hive/ql/txn/compactor/Initiator.java b/ql/src/java/org/apache/hadoop/hive/ql/txn/compactor/Initiator.java index 610cf05204..13d660ed26 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/txn/compactor/Initiator.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/txn/compactor/Initiator.java @@ -310,7 +310,13 @@ private CompactionType determineCompactionType(CompactionInfo ci, ValidWriteIdLi float deltaPctThreshold = deltaPctProp == null ? HiveConf.getFloatVar(conf, HiveConf.ConfVars.HIVE_COMPACTOR_DELTA_PCT_THRESHOLD) : Float.parseFloat(deltaPctProp); - boolean bigEnough = (float)deltaSize/(float)baseSize > deltaPctThreshold; + boolean bigEnough = false; + // No delta but obsolete base + if (deltaSize == 0 && dir.getObsolete().size() > 0) { + bigEnough = true; + } else { + bigEnough = (float)deltaSize/(float)baseSize > deltaPctThreshold; + } if (LOG.isDebugEnabled()) { StringBuilder msg = new StringBuilder("delta size: "); msg.append(deltaSize);