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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to