Github user fhueske commented on a diff in the pull request:
https://github.com/apache/flink/pull/5961#discussion_r186477977
--- Diff:
flink-java/src/main/java/org/apache/flink/api/java/functions/SelectByMinFunction.java
---
@@ -41,7 +41,7 @@
* is regarded in the reduce function. First index has highest priority
and last index has
* least priority.
*/
- public SelectByMinFunction(TupleTypeInfo<T> type, int... fields) {
+ public SelectByMinFunction(TupleTypeInfoBase<T> type, int... fields) {
--- End diff --
The `ReduceFunction` is still typed to `T extends Tuple` such that this
will still fail at runtime. The same is true for all other built-in aggregation
method like `sum()` and `min()` on `DataSet` and `UnsortedGrouping`.
This cannot be resolved without major changes. I don't think we should add
these features, but rather throw meaningful error messages instead of
`ClassCastException`.
Can you try to override the the `isTupleType()` method in `RowTypeInfo` and
return `false`?
This would prevent `Row` from being used in contexts that are only
supported for `Tuple`.
---