diff --git a/hcatalog/core/src/main/java/org/apache/hive/hcatalog/data/HCatRecordSerDe.java b/hcatalog/core/src/main/java/org/apache/hive/hcatalog/data/HCatRecordSerDe.java index 81c7943..0277c90 100644 --- a/hcatalog/core/src/main/java/org/apache/hive/hcatalog/data/HCatRecordSerDe.java +++ b/hcatalog/core/src/main/java/org/apache/hive/hcatalog/data/HCatRecordSerDe.java @@ -173,6 +173,11 @@ public Writable serialize(Object obj, ObjectInspector objInspector) List l = new ArrayList(fields.size()); if (fields != null) { + + if(fields.size()>list.size()) { + LOG.warn("The struct have "+fields.size()+" field ,but the size of received list is "+list.size()+"!"); + return null ; + } for (int i = 0; i < fields.size(); i++) { // Get the field objectInspector and the field object.