Guosmilesmile commented on code in PR #11662:
URL: https://github.com/apache/iceberg/pull/11662#discussion_r1861436171


##########
flink/v1.20/flink/src/main/java/org/apache/iceberg/flink/sink/shuffle/SortKeySerializer.java:
##########
@@ -124,6 +124,14 @@ public void serialize(SortKey record, DataOutputView 
target) throws IOException
     for (int i = 0; i < size; ++i) {
       int fieldId = transformedFields[i].fieldId();
       Type.TypeID typeId = transformedFields[i].type().typeId();
+      Object value = record.get(i, Object.class);

Review Comment:
   @stevenzwu  I have looked at the current implementation in Flink, and the 
serialization for null values references the implementation of 
NullableSerializer. The underlying approach is also to add a boolean flag at 
the beginning of the field to distinguish, which is quite similar to the 
approach in this PR. Can we use the current method to fix this issue for now, 
or are there any other better handling methods?
   
   
   ```java
   NullableSerializer<T> extends TypeSerializer<T>
   
       @Override
       public void serialize(T record, DataOutputView target) throws 
IOException {
           if (record == null) {
               target.writeBoolean(true);
               target.write(padding);
           } else {
               target.writeBoolean(false);
               originalSerializer.serialize(record, target);
           }
       }
   
       @Override
       public T deserialize(DataInputView source) throws IOException {
           boolean isNull = deserializeNull(source);
           return isNull ? null : originalSerializer.deserialize(source);
       }
   ```



-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org

Reply via email to