Uploaded image for project: 'Jackrabbit Oak'
  1. Jackrabbit Oak
  2. OAK-1894

PropertyIndex only considers the cost of a single indexed property

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.0.2, 1.1.0
    • query
    • None

    Description

      The existing PropertyIndex loops through the PropertyRestriction objects in the Filter and essentially only calculates the cost of the first indexed property. This isn't actually the first property in the query and Filter.propertyRestrictions is a HashMap.

      More confusingly, the plan for a query with multiple indexed properties outputs all indexed properties, even though only the first one is used.

      For queries with multiple indexed properties, the cheapest property index should be used in all three relevant places: when calculating the cost, when executing the query, and when producing the plan.

      Attachments

        1. OAK-1894-advanced.patch
          28 kB
          Justin Edelson
        2. OAK-1894.patch
          18 kB
          Justin Edelson
        3. OAK-1894-old.patch
          8 kB
          Thomas Mueller

        Issue Links

        Activity

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

          People

            thomasm Thomas Mueller
            justinedelson Justin Edelson
            Votes:
            1 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment