diff --git ql/src/java/org/apache/hadoop/hive/ql/stats/StatsUtils.java ql/src/java/org/apache/hadoop/hive/ql/stats/StatsUtils.java index b7adc485a7..aed681498c 100644 --- ql/src/java/org/apache/hadoop/hive/ql/stats/StatsUtils.java +++ ql/src/java/org/apache/hadoop/hive/ql/stats/StatsUtils.java @@ -1367,10 +1367,16 @@ public static long getSizeOfStruct(StandardConstantStructObjectInspector soi) { public static long getWritableSize(ObjectInspector oi, Object value) { if (oi instanceof WritableStringObjectInspector) { WritableStringObjectInspector woi = (WritableStringObjectInspector) oi; + if (value == null) { + return 0; + } return JavaDataModel.get().lengthForStringOfLength( woi.getPrimitiveWritableObject(value).getLength()); } else if (oi instanceof WritableBinaryObjectInspector) { WritableBinaryObjectInspector woi = (WritableBinaryObjectInspector) oi; + if (value == null) { + return 0; + } return JavaDataModel.get().lengthForByteArrayOfSize( woi.getPrimitiveWritableObject(value).getLength()); } else if (oi instanceof WritableBooleanObjectInspector) {