[ https://issues.apache.org/jira/browse/CALCITE-3598?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16994533#comment-16994533 ]
Ruben Q L commented on CALCITE-3598: ------------------------------------ I have looked at the generated code by testJoinMaterialization8, both the original one (with hashJoin) and the new one (after CALCITE-3535, with nestedLoopJoin); and I think that the original one is already wrong, and maybe it was just working by chance? I can see that the hashJoin version performs a Comparator.toString() operation (which does not make much sense, but at least does not throw any exception); whereas the nestedLoopJoin version tries to cast a Comparator into String (which causes the ClassCastException). I think that the issue is not related to hashJoin or nestedLoopJoin, or the changes introduced by CALCITE-3535 or CALCITE-3576, but rather why this Comparator-to-String operation was generated in the first place, which I believe seems to be an error. Maybe there is an old underlying problem somewhere, which was "hidden" so far. > ClassCastException in MaterializationTest testJoinMaterialization8 and > testJoinMaterialization9 > ----------------------------------------------------------------------------------------------- > > Key: CALCITE-3598 > URL: https://issues.apache.org/jira/browse/CALCITE-3598 > Project: Calcite > Issue Type: Bug > Affects Versions: 1.21.0 > Reporter: Ruben Q L > Priority: Minor > > Problem unveil by CALCITE-3535, and also separately by CALCITE-3576. > When CALCITE-3535 was committed, it made > MaterializationTest#testJoinMaterialization8 and > MaterializationTest#testJoinMaterialization9 change their execution plan from > hashJoin to nestedLoopJoin. This caused an exception > {code} > java.lang.ClassCastException: java.lang.String$CaseInsensitiveComparator > cannot be cast to java.lang.String > {code} > which seems unrelated to CALCITE-3535 (or CALCITE-3576), so the tests were > temporarily disabled. > The goal of this ticket is to investigate the root cause of this issue and > re-activate both tests. -- This message was sent by Atlassian Jira (v8.3.4#803005)