Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
I am getting exceptions caused by CALCITE-604.
The first exception I got while using PhoenixMetadataProvider was: "java.lang.IllegalArgumentException: duplicate key" in ChainedMetadataProvider.handlers(), which was caused by the use of ImmutableMap.Builder.
According to https://groups.google.com/forum/#!topic/sakai-kernel/Kj1WRBg9pi8, in such scenarios, we should use HashMap instead.
After fixing the above issue, I got NPE at ReflectiveRelMetadataProvider.java:278 if (RelNode.class.isAssignableFrom(relClass.getSuperclass())) {, for which I didn't know why it hadn't caused any trouble before. Since this logic wasn't really changed in CALCITE-604, I assume it went through the wrong code path.
Looks like we should add more test cases for custom metadata in Calcite.
Attachments
Issue Links
- depends upon
-
CALCITE-604 Invoke metadata providers via a class generated at runtime, rather than reflection
- Closed
- relates to
-
CALCITE-1169 Memory leak caused by CALCITE-604 and CALCITE-1147
- Closed