[ 
https://issues.apache.org/jira/browse/DRILL-1707?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14211569#comment-14211569
 ] 

Steven Phillips commented on DRILL-1707:
----------------------------------------

Thanks Chun.

I think the problem is here:
Thread 11643: (state = IN_JAVA)
 - 
com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator.next()
 @bci=1, line=483 (Compiled frame; information may be imprecise)
 - 
org.eigenbase.relopt.volcano.RuleQueue.updateImportance(org.eigenbase.relopt.volcano.RelSubset,
 java.lang.Double) @bci=92, line=272 (Compiled frame)
 - 
org.eigenbase.relopt.volcano.RuleQueue.recompute(org.eigenbase.relopt.volcano.RelSubset,
 boolean) @bci=55, line=180 (Compiled frame)
 - 
org.eigenbase.relopt.volcano.VolcanoPlanner.registerImpl(org.eigenbase.rel.RelNode,
 org.eigenbase.relopt.volcano.RelSet) @bci=1137, line=1612 (Compiled frame)
 - 
org.eigenbase.relopt.volcano.VolcanoPlanner.register(org.eigenbase.rel.RelNode, 
org.eigenbase.rel.RelNode) @bci=79, line=837 (Compiled frame)
 - 
org.eigenbase.relopt.volcano.VolcanoPlanner.ensureRegistered(org.eigenbase.rel.RelNode,
 org.eigenbase.rel.RelNode) @bci=79, line=860 (Compiled frame)
 - 
org.eigenbase.relopt.volcano.VolcanoPlanner.ensureRegistered(org.eigenbase.rel.RelNode,
 org.eigenbase.rel.RelNode, org.eigenbase.relopt.volcano.VolcanoRuleCall) 
@bci=11, line=1750 (Compiled frame)
 - 
org.eigenbase.relopt.volcano.VolcanoRuleCall.transformTo(org.eigenbase.rel.RelNode,
 java.util.Map) @bci=372, line=131 (Compiled frame)
 - org.eigenbase.relopt.RelOptRuleCall.transformTo(org.eigenbase.rel.RelNode) 
@bci=5, line=210 (Interpreted frame)
 - 
org.eigenbase.rel.rules.PushFilterPastProjectRule.onMatch(org.eigenbase.relopt.RelOptRuleCall)
 @bci=65, line=67 (Interpreted frame)
 - org.eigenbase.relopt.volcano.VolcanoRuleCall.onMatch() @bci=522, line=223 
(Compiled frame)
 - org.eigenbase.relopt.volcano.VolcanoPlanner.findBestExp() @bci=335, line=665 
(Compiled frame)
 - 
net.hydromatic.optiq.tools.Programs$RuleSetProgram.run(org.eigenbase.relopt.RelOptPlanner,
 org.eigenbase.rel.RelNode, org.eigenbase.relopt.RelTraitSet) @bci=81, line=165 
(Interpreted frame)
 - net.hydromatic.optiq.prepare.PlannerImpl.transform(int, 
org.eigenbase.relopt.RelTraitSet, org.eigenbase.rel.RelNode) @bci=28, line=273 
(Interpreted frame)
 - 
org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.convertToDrel(org.eigenbase.rel.RelNode)
 @bci=18, line=155 (Interpreted frame)
 - 
org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan(org.eigenbase.sql.SqlNode)
 @bci=62, line=134 (Interpreted frame)
 - org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(java.lang.String, 
org.apache.drill.exec.util.Pointer) @bci=134, line=132 (Interpreted frame)
 - org.apache.drill.exec.work.foreman.Foreman.runSQL(java.lang.String) @bci=23, 
line=383 (Interpreted frame)
 - org.apache.drill.exec.work.foreman.Foreman.run() @bci=128, line=202 
(Interpreted frame)
 - org.apache.drill.exec.work.WorkManager$RunnableWrapper.run() @bci=4, 
line=249 (Interpreted frame)
 - 
java.util.concurrent.ThreadPoolExecutor.runWorker(java.util.concurrent.ThreadPoolExecutor$Worker)
 @bci=95, line=1145 (Interpreted frame)
 - java.util.concurrent.ThreadPoolExecutor$Worker.run() @bci=5, line=615 
(Interpreted frame)
 - java.lang.Thread.run() @bci=11, line=744 (Interpreted frame)

Looks like we might be stuck in a loop in the optimizer.

> Regression: Mondrian query5843.q hangs
> --------------------------------------
>
>                 Key: DRILL-1707
>                 URL: https://issues.apache.org/jira/browse/DRILL-1707
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Query Planning & Optimization
>    Affects Versions: 0.7.0
>            Reporter: Chun Chang
>            Priority: Blocker
>         Attachments: drillstack.txt
>
>
> #Thu Nov 13 13:47:45 EST 2014
> git.commit.id.abbrev=fd54e71
> The following Mondrian query hangs. It was working with previous release.
> 0: jdbc:drill:schema=dfs>
> SELECT time_by_day.the_year     AS c0, 
>        time_by_day.quarter      AS c1, 
>        store.store_state        AS c2, 
>        FACT.warehouse_id        AS c3, 
>        Sum(FACT.warehouse_cost) AS m0 
> FROM   time_by_day AS time_by_day, 
>        (SELECT * 
>         FROM   inventory_fact_1997 AS FOOBAR) AS FACT, 
>        store AS store 
> WHERE  FACT.time_id = time_by_day.time_id 
>        AND time_by_day.the_year = 1997 
>        AND time_by_day.quarter = 'Q3' 
>        AND FACT.store_id = store.store_id 
>        AND store.store_state = 'WA' 
>        AND FACT.warehouse_id = 2 
> GROUP  BY time_by_day.the_year, 
>           time_by_day.quarter, 
>           store.store_state, 
>           FACT.warehouse_id;
> The drillbit handles the query seems active with around 100% CPU usage but 
> the query never returns. The only log message found in drill bit.log is 
> following:
> 2014-11-13 15:07:14,426 [UserServer-1] WARN  
> o.a.d.exec.work.foreman.QueryStatus - Update running or pending query state : 
> PENDING
> Since this is a regression, marked as release blocker.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to