Github user tillrohrmann commented on a diff in the pull request:
https://github.com/apache/flink/pull/1566#discussion_r51997124
--- Diff:
flink-core/src/main/java/org/apache/flink/api/java/typeutils/ObjectArrayTypeInfo.java
---
@@ -72,15 +77,59 @@ public int getTotalFields() {
@Override
public boolean isKeyType() {
- return false;
+ return true;
}
@SuppressWarnings("unchecked")
@Override
public TypeSerializer<T> createSerializer(ExecutionConfig
executionConfig) {
return (TypeSerializer<T>) new GenericArraySerializer<C>(
- componentInfo.getTypeClass(),
- componentInfo.createSerializer(executionConfig));
+ componentInfo.getTypeClass(),
+
componentInfo.createSerializer(executionConfig));
+ }
+
+ @SuppressWarnings("unchecked")
+ private TypeComparator<? super Object>
getBaseComparatorInfo(TypeInformation<? extends Object> componentInfo, boolean
sortOrderAscending, ExecutionConfig executionConfig) {
--- End diff --
Why are you extracting for certain types the element comparator (for
example the ObjectArrayTypeInfo) and for other you create the `TypeComparator`
(for example the `CompositeTypeInfo`)? I don't get it. Why do you need the
`getBaseComparatorInfo` method at all? Simply check in `createComparator` the
different subtypes and then create the `TypeComparator`.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---