xiarixiaoyao commented on a change in pull request #4013: URL: https://github.com/apache/hudi/pull/4013#discussion_r753757069
########## File path: hudi-common/src/main/java/org/apache/hudi/common/model/HoodieColumnRangeMetadata.java ########## @@ -30,16 +28,21 @@ private final String columnName; private final T minValue; private final T maxValue; - private final long numNulls; - private final PrimitiveStringifier stringifier; + private long numNulls; + // For Decimal Type/Date Type, minValue/maxValue cannot represent it's original value. + // eg: when parquet collects column information, the decimal type is collected as int/binary type. + // so we cannot use minValue and maxValue directly, use minValueAsString/maxValueAsString instead. + private final String minValueAsString; + private final String maxValueAsString; - public HoodieColumnRangeMetadata(final String filePath, final String columnName, final T minValue, final T maxValue, final long numNulls, final PrimitiveStringifier stringifier) { + public HoodieColumnRangeMetadata(final String filePath, final String columnName, final T minValue, final T maxValue, long numNulls, final String minValueAsString, final String maxValueAsString) { this.filePath = filePath; this.columnName = columnName; this.minValue = minValue; this.maxValue = maxValue; - this.numNulls = numNulls; - this.stringifier = stringifier; + this.numNulls = numNulls == -1 ? 0 : numNulls; Review comment: yes, we have already throw exceptions in L264 in ZCurveOptimizeHelper.getMinMaxValue -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@hudi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org