xiangfu0 commented on code in PR #20060:
URL: https://github.com/apache/pinot/pull/20060#discussion_r4392868063


##########
pinot-plugins/pinot-input-format/pinot-parquet/src/main/java/org/apache/pinot/plugin/inputformat/parquet/ParquetNativeRecordExtractor.java:
##########
@@ -149,6 +148,11 @@ private Object extractValue(Group from, int fieldIndex, 
Type fieldType, int inde
           return intValue;
         case INT64:
           long longValue = from.getLong(fieldIndex, index);
+          if (logicalTypeAnnotation instanceof 
LogicalTypeAnnotation.IntLogicalTypeAnnotation integerType
+              && integerType.getBitWidth() == 64 && !integerType.isSigned() && 
longValue < 0) {

Review Comment:
   You are correct: this changes the native reader default from preserving 
signed 64-bit bits to rejecting high UINT64 values, while Avro still exposes 
the signed bits. That mapping preserves equality for opaque IDs, so this can 
break existing ingestion even though it avoids interpreting an unsigned number 
as negative. I am keeping this thread open pending the default-policy decision; 
explicit overflow-rejection coverage will remain, and any strict-mode choice 
needs to be documented consistently.



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to