Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-55846

CBO: hint productivity NPE if missing cardinality estimate or collection

    XMLWordPrintable

Details

    • Untriaged
    • 0
    • Unknown

    Description

      To repro, run following with productivity hint without card

      SELECT COUNT(DISTINCT r.destinationairport)
      FROM airport a
        JOIN route r ON r.sourceairport /*+ productivity */ = a.faa
      WHERE a.city = 'San Francisco'
        AND a.country = 'United States' 

      From log:

      2023-03-06T09:53:37.727-08:00 WARN CBAS.server.QueryServiceServlet [HttpExecutor(port:8095)-7] handleException: unexpected exception: <ud>{"host":"172.23.104.91:8091","path":"/query/service","statement":"explain SELECT COUNT(DISTINCT r.destinationairport)\\nFROM airport a\\n  JOIN route r ON r.sourceairport \\/*+ productivity *\\/ = a.faa\\nWHERE a.city = 'San Francisco'\\n  AND a.country = 'United States'","pretty":false,"mode":"immediate","clientContextID":"5bc721bb-da9e-46bd-a758-0172072a2ecb","clientType":"ASTERIX","dataverse":null,"format":"CLEAN_JSON","timeout":9223372036854775807,"maxResultReads":1,"planFormat":"JSON","expressionTree":false,"rewrittenExpressionTree":false,"logicalPlan":false,"optimizedLogicalPlan":true,"job":false,"profile":"counts","signature":true,"multiStatement":false,"parseOnly":false,"readOnly":false,"maxWarnings":10,"sqlCompat":false,"scanConsistency":"not_bounded","scanWait":null}</ud>
      java.lang.NullPointerException: null
              at org.apache.asterix.optimizer.rules.cbo.JoinEnum.findJoinNodeIndexByName(JoinEnum.java:303) ~[asterix-algebra-7.2.0-5183.jar:7.2.0-5183]
              at org.apache.asterix.optimizer.rules.cbo.Stats.findJoinSelectivity(Stats.java:94) ~[asterix-algebra-7.2.0-5183.jar:7.2.0-5183]
              at org.apache.asterix.optimizer.rules.cbo.Stats.getSelectivityFromAnnotation(Stats.java:158) ~[asterix-algebra-7.2.0-5183.jar:7.2.0-5183]
              at org.apache.asterix.optimizer.rules.cbo.Stats.getSelectivityFromAnnotationMain(Stats.java:173) ~[asterix-algebra-7.2.0-5183.jar:7.2.0-5183]
              at org.apache.asterix.optimizer.rules.cbo.JoinEnum.findJoinConditions(JoinEnum.java:379) ~[asterix-algebra-7.2.0-5183.jar:7.2.0-5183]
              at com.couchbase.analytics.optimizer.rules.cbo.CBJoinEnum.findJoinConditions(CBJoinEnum.java:143) ~[cbas-connector-7.2.0-5183.jar:7.2.0-5183]
              at org.apache.asterix.optimizer.rules.cbo.JoinEnum.enumerateJoins(JoinEnum.java:737) ~[asterix-algebra-7.2.0-5183.jar:7.2.0-5183]
              at org.apache.asterix.optimizer.rules.cbo.EnumerateJoinsRule.rewritePre(EnumerateJoinsRule.java:149) ~[asterix-algebra-7.2.0-5183.jar:7.2.0-5183]
              at org.apache.hyracks.algebricks.core.rewriter.base.AbstractRuleController.rewriteOperatorRef(AbstractRuleController.java:79) ~[algebricks-core-7.2.0-5183.jar:7.2.0-5183] 

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              pierre.regazzoni Pierre Regazzoni
              pierre.regazzoni Pierre Regazzoni
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty