wmoustafa commented on code in PR #6004:
URL: https://github.com/apache/iceberg/pull/6004#discussion_r1156318587


##########
data/src/test/java/org/apache/iceberg/data/DataTestHelpers.java:
##########
@@ -88,6 +90,16 @@ private static void assertEquals(Type type, Object expected, 
Object actual) {
             "Primitive value should be equal to expected for type " + type, 
expected, actual);
         break;
       case FIXED:
+        // For fixed type, Iceberg actually represent value as Bytebuffer,
+        // but since RandomGenericData generates bytearray data for fixed type
+        // for it to be written to Avro, we add a conversion here to make the
+        // equality comparison consistent using bytearray
+        if (expected instanceof ByteBuffer) {
+          expected = ByteBuffers.toByteArray((ByteBuffer) expected);
+        }
+        if (actual instanceof ByteBuffer) {
+          actual = ByteBuffers.toByteArray((ByteBuffer) actual);

Review Comment:
   In the latest patch, this check is removed, and `SingleValueParser` moved to 
`byte[]`. However, it seems that `Literals` still uses `ByteBuffer` for `FIXED` 
type, so the discrepancy showed up again in `SingleValueParser`, where it needs 
to handle both `byte[]` and `ByteBuffer` inputs. There is a more detailed 
comment on this in `SingleValueParser`.



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