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


##########
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:
   That is some deep analysis with 3 levels of conversion to get it right :) I 
have directly called `IdentityPartitionConverters.convertConstant` from 
`StructReader` constructor. Ideally, `IdentityPartitionConverters` should be 
renamed in a future release since it is no longer specific to partitions.



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