Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-5602

All predicates pushed to Kudu with limit runs incorrectly as 'small query'

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • Impala 2.8.0
    • Impala 2.10.0
    • Frontend

    Description

      When Kudu scans have predicates pushed to Kudu, the base implementation of ScanNode.getInputCardinality() is wrong:

        @Override
        public long getInputCardinality() {
          if (getConjuncts().isEmpty() && hasLimit()) return getLimit();
          return inputCardinality_;
        }
      

      getConjuncts() won't contain the predicates pushed to Kudu. If such a query has a limit and there aren't any conjuncts applied at the scan node, then this function will return the limit as the input cardinality mistakenly.

      This can result in a query running with the "small query" optimization when it should not be, i.e. it runs on a single node with a single scanner thread.

      Attachments

        Activity

          People

            bikramjeet.vig Bikramjeet Vig
            mjacobs Matthew Jacobs
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: