For Pandas UDF, the input type for each input argument is Pandas.Series and the result type is also of type Pandas.Series. Besides, the length of the result should be the same as the inputs. If this is not the case, currently the behavior is unclear. We should perform early check for this and provide a clear error message.
See http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/PyFlink-Vectorized-UDF-throws-NullPointerException-td42952.html and http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/PyFlink-called-already-closed-and-NullPointerException-td42997.html for more details.