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

Hook.REL_BUILDER_SIMPLIFY handler didn't removed cause performance degression

    XMLWordPrintableJSON

Details

    Description

      Planning performance degression has been observed that the duration of planning increased from 30ms to 160ms after running drill a long period of time(say a month).

      RelBuilder.simplify never becomes true if Hook.REL_BUILDER_SIMPLIFY handlers are not removed.

      Here is some clue (after running 40 days):

      Hook.get takes 8ms per-invocation, it may be called serveral times per query.
      ---[8.816063ms] org.apache.calcite.tools.RelBuilder:<init>()
        +---[0.020218ms] java.util.ArrayDeque:<init>()
        +---[0.018493ms] java.lang.Boolean:valueOf()
        +---[8.341566ms] org.apache.calcite.runtime.Hook:get()
        +---[0.008489ms] java.lang.Boolean:booleanValue()
        +---[min=5.21E-4ms,max=0.015832ms,total=0.025233ms,count=12] org.apache.calcite.plan.Context:unwrap()
        +---[min=3.83E-4ms,max=0.009494ms,total=0.014516ms,count=13] org.apache.calcite.util.Util:first()
        +---[0.006892ms] org.apache.calcite.plan.RelOptCluster:getPlanner()
        +---[0.009104ms] org.apache.calcite.plan.RelOptPlanner:getExecutor()
        +---[min=4.8E-4ms,max=0.002277ms,total=0.002757ms,count=2] org.apache.calcite.plan.RelOptCluster:getRexBuilder()
        ---[min=4.91E-4ms,max=0.004586ms,total=0.005077ms,count=2] org.apache.calcite.rex.RexSimplify:<init>()

      The top instances in JVM
      num   #instances     #bytes           class name
      ----------------------------------------------
      1:       116333      116250440     [B
      2:       890126      105084536    [C
      3:       338062        37415944    [Ljava.lang.Object;
      4:     1715004        27440064    org.apache.calcite.runtime.Hook$4
      5:      803909         19293816    java.lang.String

       

      Attachments

        Issue Links

          Activity

            People

              shuifeng shuifeng lu
              shuifeng shuifeng lu
              Vova Vysotskyi Vova Vysotskyi
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: