diff --git ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java index a1fb874..fc156c7 100644 --- ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java +++ ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java @@ -697,6 +697,9 @@ private int mergeFiles(Hive db, AlterTablePartMergeFilesDesc mergeFilesDesc, task.initialize(queryState, getQueryPlan(), driverCxt, opContext); subtask = task; int ret = task.execute(driverCxt); + if (subtask.getException() != null) { + setException(subtask.getException()); + } return ret; } @@ -4435,7 +4438,11 @@ private int truncateTable(Hive db, TruncateTableDesc truncateTableDesc) throws H taskExec.setWork(truncateWork); taskExec.setQueryPlan(this.getQueryPlan()); subtask = taskExec; - return taskExec.execute(driverCxt); + int ret = taskExec.execute(driverCxt); + if (subtask.getException() != null) { + setException(subtask.getException()); + } + return ret; } String tableName = truncateTableDesc.getTableName();