This is an automated email from the ASF dual-hosted git repository.

jark pushed a commit to branch release-1.14
in repository https://gitbox.apache.org/repos/asf/flink.git


The following commit(s) were added to refs/heads/release-1.14 by this push:
     new 0c061dafc83 [hotfix][table-runtime] Fix ArrayDataSerializer null 
fields writing (#19254)
0c061dafc83 is described below

commit 0c061dafc83dadf7d4d13da4538284e0579e2593
Author: Sergey Nuyanzin <[email protected]>
AuthorDate: Fri Jun 10 17:57:21 2022 +0200

    [hotfix][table-runtime] Fix ArrayDataSerializer null fields writing (#19254)
---
 .../apache/flink/table/runtime/typeutils/ArrayDataSerializer.java    | 4 +++-
 .../flink/table/runtime/typeutils/ArrayDataSerializerTest.java       | 5 ++++-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git 
a/flink-table/flink-table-runtime/src/main/java/org/apache/flink/table/runtime/typeutils/ArrayDataSerializer.java
 
b/flink-table/flink-table-runtime/src/main/java/org/apache/flink/table/runtime/typeutils/ArrayDataSerializer.java
index 10a15be6241..673db54dbe2 100644
--- 
a/flink-table/flink-table-runtime/src/main/java/org/apache/flink/table/runtime/typeutils/ArrayDataSerializer.java
+++ 
b/flink-table/flink-table-runtime/src/main/java/org/apache/flink/table/runtime/typeutils/ArrayDataSerializer.java
@@ -127,7 +127,9 @@ public class ArrayDataSerializer extends 
TypeSerializer<ArrayData> {
                                     
LogicalTypeUtils.toInternalConversionClass(eleType),
                                     array.size());
             for (int i = 0; i < array.size(); i++) {
-                newArray[i] = eleSer.copy(objectArray[i]);
+                if (objectArray[i] != null) {
+                    newArray[i] = eleSer.copy(objectArray[i]);
+                }
             }
             return new GenericArrayData(newArray);
         }
diff --git 
a/flink-table/flink-table-runtime/src/test/java/org/apache/flink/table/runtime/typeutils/ArrayDataSerializerTest.java
 
b/flink-table/flink-table-runtime/src/test/java/org/apache/flink/table/runtime/typeutils/ArrayDataSerializerTest.java
index baed23706dc..1389873398f 100644
--- 
a/flink-table/flink-table-runtime/src/test/java/org/apache/flink/table/runtime/typeutils/ArrayDataSerializerTest.java
+++ 
b/flink-table/flink-table-runtime/src/test/java/org/apache/flink/table/runtime/typeutils/ArrayDataSerializerTest.java
@@ -80,7 +80,10 @@ public class ArrayDataSerializerTest extends 
SerializerTestBase<ArrayData> {
     @Override
     protected ArrayData[] getTestData() {
         return new ArrayData[] {
-            new GenericArrayData(new StringData[] 
{StringData.fromString("11")}),
+            new GenericArrayData(
+                    new StringData[] {
+                        StringData.fromString("11"), null, 
StringData.fromString("ke")
+                    }),
             createArray("11", "haa"),
             createArray("11", "haa", "ke"),
             createArray("11", "haa", "ke"),

Reply via email to