ATLAS-2757: fix for NPE in Hive hook in handling column-rename on temporary table
diff --git a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/AlterTableRenameCol.java b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/AlterTableRenameCol.java
index 60aea94..5bbdd81 100644
--- a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/AlterTableRenameCol.java
+++ b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/AlterTableRenameCol.java
@@ -54,10 +54,17 @@
return null;
}
- List<HookNotification> ret = new ArrayList<>(super.getNotificationMessages());
+ List<HookNotification> baseMsgs = super.getNotificationMessages();
- Table oldTable = getHiveContext().getInputs().iterator().next().getTable();
- Table newTable = getHiveContext().getOutputs().iterator().next().getTable();
+ if (CollectionUtils.isEmpty(baseMsgs)) {
+ LOG.debug("Skipped processing of column-rename (on a temporary table?)");
+
+ return null;
+ }
+
+ List<HookNotification> ret = new ArrayList<>(baseMsgs);
+ Table oldTable = getHiveContext().getInputs().iterator().next().getTable();
+ Table newTable = getHiveContext().getOutputs().iterator().next().getTable();
newTable = getHive().getTable(newTable.getDbName(), newTable.getTableName());