diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java index d634b4021600fd8b980dc5d56b77e3192eba5d9f..3a13eeb3e5ade12879cf3de553c700e0b9752429 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java @@ -940,6 +940,10 @@ private int renamePartition(Hive db, RenamePartitionDesc renamePartitionDesc) th Table tbl = db.getTable(renamePartitionDesc.getTableName()); Partition oldPart = db.getPartition(tbl, renamePartitionDesc.getOldPartSpec(), false); + if (oldPart == null) { + throw new HiveException("Renamed partition does not exist in " + + renamePartitionDesc.getTableName()); + } Partition part = db.getPartition(tbl, renamePartitionDesc.getOldPartSpec(), false); part.setValues(renamePartitionDesc.getNewPartSpec()); db.renamePartition(tbl, renamePartitionDesc.getOldPartSpec(), part);