diff --git a/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/StandardStructObjectInspector.java b/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/StandardStructObjectInspector.java index c96fc2d..87a072c 100644 --- a/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/StandardStructObjectInspector.java +++ b/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/StandardStructObjectInspector.java @@ -163,8 +163,13 @@ public Object getStructFieldData(Object data, StructField fieldRef) { } // We support both List and Object[] // so we have to do differently. - boolean isArray = ! (data instanceof List); + boolean isArray = data.getClass().isArray(); if (!isArray && !(data instanceof List)) { + if (!warned) { + LOG.warn("Invalid type for struct " + data.getClass()); + LOG.warn("ignoring similar errors."); + warned = true; + } return data; } int listSize = (isArray ? ((Object[]) data).length : ((List) data)