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)