Commit f75d7f40 by Sarath Subramanian

ATLAS-3202: Hive hook: getStorageDescEntity() throws NPE if bucketCols is null

parent 49db4cac
...@@ -475,7 +475,7 @@ public abstract class BaseHiveEvent { ...@@ -475,7 +475,7 @@ public abstract class BaseHiveEvent {
ret.setAttribute(ATTRIBUTE_NUM_BUCKETS, sd.getNumBuckets()); ret.setAttribute(ATTRIBUTE_NUM_BUCKETS, sd.getNumBuckets());
ret.setAttribute(ATTRIBUTE_STORED_AS_SUB_DIRECTORIES, sd.isStoredAsSubDirectories()); ret.setAttribute(ATTRIBUTE_STORED_AS_SUB_DIRECTORIES, sd.isStoredAsSubDirectories());
if (sd.getBucketCols().size() > 0) { if (sd.getBucketCols() != null && sd.getBucketCols().size() > 0) {
ret.setAttribute(ATTRIBUTE_BUCKET_COLS, sd.getBucketCols()); ret.setAttribute(ATTRIBUTE_BUCKET_COLS, sd.getBucketCols());
} }
...@@ -514,8 +514,9 @@ public abstract class BaseHiveEvent { ...@@ -514,8 +514,9 @@ public abstract class BaseHiveEvent {
protected List<AtlasEntity> getColumnEntities(AtlasObjectId tableId, Table table, List<FieldSchema> fieldSchemas) { protected List<AtlasEntity> getColumnEntities(AtlasObjectId tableId, Table table, List<FieldSchema> fieldSchemas) {
List<AtlasEntity> ret = new ArrayList<>(); List<AtlasEntity> ret = new ArrayList<>();
boolean isKnownTable = tableId.getGuid() == null; boolean isKnownTable = tableId.getGuid() == null;
int columnPosition = 0; int columnPosition = 0;
if (CollectionUtils.isNotEmpty(fieldSchemas)) {
for (FieldSchema fieldSchema : fieldSchemas) { for (FieldSchema fieldSchema : fieldSchemas) {
String colQualifiedName = getQualifiedName(table, fieldSchema); String colQualifiedName = getQualifiedName(table, fieldSchema);
AtlasEntity column = context.getEntity(colQualifiedName); AtlasEntity column = context.getEntity(colQualifiedName);
...@@ -543,6 +544,7 @@ public abstract class BaseHiveEvent { ...@@ -543,6 +544,7 @@ public abstract class BaseHiveEvent {
ret.add(column); ret.add(column);
} }
}
return ret; return ret;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment