Uploaded image for project: 'Calcite'
  1. Calcite
  2. CALCITE-1147

Allow multiple providers for the same kind of metadata

Rank to TopRank to BottomBulk Copy AttachmentsBulk Move AttachmentsVotersWatch issueWatchersConvert to sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.7.0
    • 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

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            julianhyde Julian Hyde
            maryannxue Wei Xue
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment