You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by "shuifeng lu (JIRA)" <ji...@apache.org> on 2018/11/06 09:02:00 UTC

[jira] [Created] (DRILL-6830) Hook.REL_BUILDER_SIMPLIFY handler didn't removed cause performance degression

shuifeng lu created DRILL-6830:
----------------------------------

             Summary: Hook.REL_BUILDER_SIMPLIFY handler didn't removed cause performance degression
                 Key: DRILL-6830
                 URL: https://issues.apache.org/jira/browse/DRILL-6830
             Project: Apache Drill
          Issue Type: Bug
          Components: Query Planning &amp; Optimization
    Affects Versions: 1.14.0
            Reporter: shuifeng lu
            Assignee: shuifeng lu
         Attachments: Screen Shot 2018-11-06 at 16.14.16.png

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

!Screen Shot 2018-11-06 at 16.14.16.png!  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)