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


---

Reply via email to