Github user fhueske commented on the issue:

    https://github.com/apache/flink/pull/4674
  
    Thanks for the info @hequn8128! As I said before, I don't mind making 
`SingleElementIterable` `Serializable`. However, we have to ensure that the 
property also holds. `element: T` is not necessarily serializable so the 
serialization might fail. We can not easily declare `T` as `Serializable` 
because that would mean to change the interface of the `AggregateFunction` and 
enforce serializabiliy on the accumulators.
    
    I see two options:
    - declare the `element` field as `transient` and ensure that the 
`SingleElementIterable` is only used in a context where it is OK to lose 
`element` during serialization.
    - override the default de/serialization methods and serialize `element` 
using a `TypeSerializer`.
    
    What do you think?
    
    Best, Fabian


---

Reply via email to