Uploaded image for project: 'Apache Drill'
  1. Apache Drill
  2. DRILL-7242

Query with range predicate hits IOBE when accessing histogram buckets

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

Details

    Description

      Following query hits an IOBE during histogram access: (make sure to run ANALYZE command before running this query):

           select 1 from dfs.tmp.employee where store_id > 24;
      
      Caused by: java.lang.ArrayIndexOutOfBoundsException: 11
      	at org.apache.drill.exec.planner.common.NumericEquiDepthHistogram.getSelectedRows(NumericEquiDepthHistogram.java:215) ~[drill-java-exec-1.16.0.0-mapr.jar:1.16.0.0-mapr]
      	at org.apache.drill.exec.planner.common.NumericEquiDepthHistogram.estimatedSelectivity(NumericEquiDepthHistogram.java:130) ~[drill-java-exec-1.16.0.0-mapr.jar:1.16.0.0-mapr]
      	at org.apache.drill.exec.planner.cost.DrillRelMdSelectivity.computeRangeSelectivity(DrillRelMd
      

      Here, 24.0 is the end point of the last histogram bucket and the boundary condition is not being correctly handled.

      Attachments

        Activity

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

          People

            amansinha100 Aman Sinha
            amansinha100 Aman Sinha
            Gautam Parai Gautam Parai
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment