Will created FLINK-10116:
----------------------------

             Summary: createComparator fails on case class with Unit type 
fields prior to the join-keyl
                 Key: FLINK-10116
                 URL: https://issues.apache.org/jira/browse/FLINK-10116
             Project: Flink
          Issue Type: Bug
    Affects Versions: 1.6.0, 1.3.3
            Reporter: Will
         Attachments: JobFail.scala, JobPass.scala

h1. Overview

When joining between case classes, if the attribute representing the join-key 
comes after Unit definition of fields (that are not being used) the join will 
fail with the error
{quote}{{Exception in thread "main" java.lang.IllegalArgumentException: Could 
not add a comparator for the logicalkey field index 0.}}
{{ at 
org.apache.flink.api.common.typeutils.CompositeType.createComparator(CompositeType.java:162)}}
{{ at 
org.apache.flink.optimizer.postpass.JavaApiPostPass.createComparator(JavaApiPostPass.java:293)}}
{{ at 
org.apache.flink.optimizer.postpass.JavaApiPostPass.traverse(JavaApiPostPass.java:193)}}
{quote}
Using TypeInformation keys does not exhibit the same issue. Initial debugging 
suggests that when calculating the index of the key for strings doesn't count 
Unit elements, however they are included during iteration in 
CompositeType.createComparator which leads to the search failing on the key 
appearing to be a Unit type.
h1. Code Examples to Reproduce

[^JobFail.scala]

[^JobPass.scala]

 

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to