sajjad-moradi commented on code in PR #9642:
URL: https://github.com/apache/pinot/pull/9642#discussion_r1022169172


##########
pinot-segment-local/src/main/java/org/apache/pinot/segment/local/recordtransformer/DataTypeTransformer.java:
##########
@@ -92,6 +92,13 @@ public GenericRow transform(GenericRow record) {
           // Single-value column
           source = PinotDataType.getSingleValueType(value.getClass());
         }
+
+        if (source == PinotDataType.BYTES && dest == PinotDataType.STRING && 
value instanceof byte[]) {

Review Comment:
   I looked into Avro types again and realized that byte array can be 
represented by "FIXED" types as well as "BYTES" type. We have more complicated 
situation now. 
   Let's assume the value for the input avro field is 'new byte[] {0, 1, 2, 
3}'. We have the following four scenarios for different combinations of avro 
field type and pinot column type:
   
![image](https://user-images.githubusercontent.com/8548220/201789886-b11fb0c3-3787-4949-97b3-4cc8b82fde6c.png)
   No matter if we keep or remove the backward-compatibility added in this this 
PR, we'll have backward incompatiblity.



-- 
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