Github user pnowojski commented on the issue: https://github.com/apache/flink/pull/6231 Nope, you are not quite correct. This: ``` def this() = this(null) //scala ``` translates to ``` CompositeTypeSerializerConfigSnapshot(null); ``` But because of varargs usages in `public CompositeTypeSerializerConfigSnapshot(TypeSerializer<?>... nestedSerializers)`, you get in this constructor one element array containing single null value. If there was ``` def this() = this(null, null, null) //in scala CompositeTypeSerializerConfigSnapshot(null, null, null); // or in java ``` `nestedSerializers` array would have three null elements. Never the less I still do not think this is a good fix. Instead of supporting and handling nulls in `CompositeTypeSerializerConfigSnapshot` constructor (ugly and dangerous), default constructor of `CRowSerializerConfigSnapshot` should invoke default constructor of `CompositeTypeSerializerConfigSnapshot`.
---