Description
The PojoSerializer's copy() method does not work properly with null values. An exception could look like:
Caused by: java.io.IOException: Thread 'SortMerger spilling thread' terminated due to an exception: null at org.apache.flink.runtime.operators.sort.UnilateralSortMerger$ThreadBase.run(UnilateralSortMerger.java:792) Caused by: java.io.EOFException at org.apache.flink.runtime.io.disk.RandomAccessInputView.nextSegment(RandomAccessInputView.java:83) at org.apache.flink.runtime.memorymanager.AbstractPagedInputView.advance(AbstractPagedInputView.java:159) at org.apache.flink.runtime.memorymanager.AbstractPagedInputView.readByte(AbstractPagedInputView.java:270) at org.apache.flink.runtime.memorymanager.AbstractPagedInputView.readUnsignedByte(AbstractPagedInputView.java:277) at org.apache.flink.types.StringValue.copyString(StringValue.java:839) at org.apache.flink.api.common.typeutils.base.StringSerializer.copy(StringSerializer.java:83) at org.apache.flink.api.java.typeutils.runtime.PojoSerializer.copy(PojoSerializer.java:261) at org.apache.flink.runtime.operators.sort.NormalizedKeySorter.writeToOutput(NormalizedKeySorter.java:449) at org.apache.flink.runtime.operators.sort.UnilateralSortMerger$SpillingThread.go(UnilateralSortMerger.java:1303) at org.apache.flink.runtime.operators.sort.UnilateralSortMerger$ThreadBase.run(UnilateralSortMerger.java:788)
I'm working on a fix for that...