You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
select first_credit_month as "月份" ,
count(distinct member_id) as "人数" ,
count(distinct if(months=0, member_id, null))*1.0000/count(distinct member_id) as mob0 ,
count(distinct if(months=1, member_id, null))*1.0000/count(distinct member_id) as mob1 ,
count(distinct if(months=2, member_id, null))*1.0000/count(distinct member_id) as mob2 ,
count(distinct if(months=3, member_id, null))*1.0000/count(distinct member_id) as mob3 ,
count(distinct if(months=4, member_id, null))*1.0000/count(distinct member_id) as mob4 ,
count(distinct if(months=5, member_id, null))*1.0000/count(distinct member_id) as mob5 ,
count(distinct if(months=6, member_id, null))*1.0000/count(distinct member_id) as mob6 ,
count(distinct if(months=7, member_id, null))*1.0000/count(distinct member_id) as mob7 ,
count(distinct if(months=8, member_id, null))*1.0000/count(distinct member_id) as mob8 ,
count(distinct if(months=9, member_id, null))*1.0000/count(distinct member_id) as mob9 ,
count(distinct if(months=10, member_id, null))*1.0000/count(distinct member_id) as mob10 ,
count(distinct if(months=11, member_id, null))*1.0000/count(distinct member_id) as mob11 ,
count(distinct if(months=12, member_id, null))*1.0000/count(distinct member_id) as mob12 ,
count(distinct if(months=13, member_id, null))*1.0000/count(distinct member_id) as mob13 ,
count(distinct if(months=14, member_id, null))*1.0000/count(distinct member_id) as mob14 ,
count(distinct if(months=15, member_id, null))*1.0000/count(distinct member_id) as mob15 ,
count(distinct if(months=16, member_id, null))*1.0000/count(distinct member_id) as mob16 ,
count(distinct if(months=17, member_id, null))*1.0000/count(distinct member_id) as mob17 ,
count(distinct if(months=18, member_id, null))*1.0000/count(distinct member_id) as mob18 ,
count(distinct if(months=19, member_id, null))*1.0000/count(distinct member_id) as mob19 ,
count(distinct if(months=20, member_id, null))*1.0000/count(distinct member_id) as mob20 ,
count(distinct if(months=21, member_id, null))*1.0000/count(distinct member_id) as mob21 ,
count(distinct if(months=22, member_id, null))*1.0000/count(distinct member_id) as mob22 ,
count(distinct if(months=23, member_id, null))*1.0000/count(distinct member_id) as mob23 ,
count(distinct if(months=24, member_id, null))*1.0000/count(distinct member_id) as mob24 ,
count(distinct if(months=25, member_id, null))*1.0000/count(distinct member_id) as mob25 ,
count(distinct if(months=26, member_id, null))*1.0000/count(distinct member_id) as mob26 ,
count(distinct if(months=27, member_id, null))*1.0000/count(distinct member_id) as mob27 ,
count(distinct if(months=28, member_id, null))*1.0000/count(distinct member_id) as mob28 ,
count(distinct if(months=29, member_id, null))*1.0000/count(distinct member_id) as mob29 ,
count(distinct if(months=30, member_id, null))*1.0000/count(distinct member_id) as mob30 ,
count(distinct if(months=31, member_id, null))*1.0000/count(distinct member_id) as mob31 ,
count(distinct if(months=32, member_id, null))*1.0000/count(distinct member_id) as mob32 ,
count(distinct if(months=33, member_id, null))*1.0000/count(distinct member_id) as mob33 ,
count(distinct if(months=34, member_id, null))*1.0000/count(distinct member_id) as mob34 ,
count(distinct if(months=35, member_id, null))*1.0000/count(distinct member_id) as mob35 ,
count(distinct if(months=36, member_id, null))*1.0000/count(distinct member_id) as mob36 ,
count(distinct if(months=37, member_id, null))*1.0000/count(distinct member_id) as mob37 ,
count(distinct if(months=38, member_id, null))*1.0000/count(distinct member_id) as mob38 ,
count(distinct if(months=39, member_id, null))*1.0000/count(distinct member_id) as mob39
from (
select t1.member_id ,
product_code ,
first_credit_month ,
(cast(substring(apply_month, 1, 4) as int) - cast(substring(first_credit_month, 1, 4) as int))*12 + cast(substring(apply_month, 6, 7) as int) - cast(substring(first_credit_month, 6, 7) as int) as months ,
amt
from (
select member_id,
product_code,
credit_month as first_credit_month
from (
select row_number() over(partition by member_id order by credit_day) as rank,
member_id,product_code,
substring(credit_day, 1, 7) as credit_month
from temp.fxh_credit_member_mars301421 where page = '商详页面'
) t1 where rank = 1
) t1 left join (
select member_id,
substring(apply_time, 1, 7) as apply_month ,
sum(cast(loan_amount as double) - cast(refund_amount as double)) as amt
from ods.ods_fin_loan_augur_app_loan_order_d
where cast(pt as date) = current_date - interval '1' day
and status = 50
and enter_account_status = 80
group by member_id, substring(apply_time, 1, 7) ) t2 on t1.member_id = t2.member_id
) a1
where first_credit_month >= '2022-01'
group by first_credit_month
order by first_credit_month
desc limit 2000
Expected behavior (Required)
Get the correct result as trinno(which will return the result within one miniute).
Real behavior (Required)
The FE starrocks mysql nio pool thread stuck forever, and we can't get the result forever. See the cpu time and elapsed:
"
starrocks-mysql-nio-pool-230" #4749 daemon prio=5 os_prio=0 cpu=234995552.26ms elapsed=239447.22s tid=0x00007f62e8363800 nid=0x4d9a8 runnable [0x00007f5faf1de000]
java.lang.Thread.State: RUNNABLE
at java.util.stream.Sink$ChainedReference.begin(java.base@11.0.18/Sink.java:253)
at java.util.stream.AbstractPipeline.copyInto(java.base@11.0.18/AbstractPipeline.java:483)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(java.base@11.0.18/AbstractPipeline.java:474)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(java.base@11.0.18/ReduceOps.java:913)
at java.util.stream.AbstractPipeline.evaluate(java.base@11.0.18/AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(java.base@11.0.18/ReferencePipeline.java:578)
at com.starrocks.planner.JoinNode.candidatesOfSlotExprsForChild(JoinNode.java:282)
at com.starrocks.planner.JoinNode.pushDownRuntimeFiltersForChild(JoinNode.java:291)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(JoinNode.java:309)
at com.starrocks.planner.PlanNode.tryPushdownRuntimeFilterToChild(PlanNode.java:907)
at com.starrocks.planner.PlanNode.pushdownRuntimeFilterForChildOrAccept(PlanNode.java:936)
at com.starrocks.planner.JoinNode.pushDownRuntimeFiltersForChild(JoinNode.java:289)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(JoinNode.java:308)
at com.starrocks.planner.PlanNode.tryPushdownRuntimeFilterToChild(PlanNode.java:907)
at com.starrocks.planner.PlanNode.pushdownRuntimeFilterForChildOrAccept(PlanNode.java:936)
at com.starrocks.planner.JoinNode.pushDownRuntimeFiltersForChild(JoinNode.java:289)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(JoinNode.java:308)
at com.starrocks.planner.PlanNode.pushDownRuntimeFilters(PlanNode.java:809)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(JoinNode.java:313)
at com.starrocks.planner.PlanNode.tryPushdownRuntimeFilterToChild(PlanNode.java:907)
at com.starrocks.planner.PlanNode.pushdownRuntimeFilterForChildOrAccept(PlanNode.java:936)
at com.starrocks.planner.JoinNode.pushDownRuntimeFiltersForChild(JoinNode.java:289)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(JoinNode.java:308)
at com.starrocks.planner.PlanNode.tryPushdownRuntimeFilterToChild(PlanNode.java:907)
at com.starrocks.planner.PlanNode.pushdownRuntimeFilterForChildOrAccept(PlanNode.java:936)
at com.starrocks.planner.JoinNode.pushDownRuntimeFiltersForChild(JoinNode.java:289)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(JoinNode.java:308)
at com.starrocks.planner.PlanNode.tryPushdownRuntimeFilterToChild(PlanNode.java:907)
at com.starrocks.planner.PlanNode.pushdownRuntimeFilterForChildOrAccept(PlanNode.java:936)
at com.starrocks.planner.JoinNode.pushDownRuntimeFiltersForChild(JoinNode.java:289)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(JoinNode.java:308)
at com.starrocks.planner.PlanNode.pushDownRuntimeFilters(PlanNode.java:809)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(JoinNode.java:313)
at com.starrocks.planner.PlanNode.pushDownRuntimeFilters(PlanNode.java:809)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(JoinNode.java:313)
at com.starrocks.planner.PlanNode.tryPushdownRuntimeFilterToChild(PlanNode.java:907)
at com.starrocks.planner.PlanNode.pushdownRuntimeFilterForChildOrAccept(PlanNode.java:936)
at com.starrocks.planner.JoinNode.pushDownRuntimeFiltersForChild(JoinNode.java:289)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(JoinNode.java:308)
at com.starrocks.planner.PlanNode.tryPushdownRuntimeFilterToChild(PlanNode.java:907)
at com.starrocks.planner.PlanNode.pushdownRuntimeFilterForChildOrAccept(PlanNode.java:936)
at com.starrocks.planner.JoinNode.pushDownRuntimeFiltersForChild(JoinNode.java:289)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(JoinNode.java:308)
at com.starrocks.planner.PlanNode.pushDownRuntimeFilters(PlanNode.java:809)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(JoinNode.java:313)
at com.starrocks.planner.PlanNode.tryPushdownRuntimeFilterToChild(PlanNode.java:907)
at com.starrocks.planner.PlanNode.pushdownRuntimeFilterForChildOrAccept(PlanNode.java:936)
at com.starrocks.planner.JoinNode.pushDownRuntimeFiltersForChild(JoinNode.java:289)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(JoinNode.java:308)
at com.starrocks.planner.PlanNode.pushDownRuntimeFilters(PlanNode.java:809)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(JoinNode.java:313)
at com.starrocks.planner.PlanNode.tryPushdownRuntimeFilterToChild(PlanNode.java:907)
at com.starrocks.planner.PlanNode.pushdownRuntimeFilterForChildOrAccept(PlanNode.java:936)
at com.starrocks.planner.JoinNode.pushDownRuntimeFiltersForChild(JoinNode.java:289)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(JoinNode.java:308)
at com.starrocks.planner.PlanNode.tryPushdownRuntimeFilterToChild(PlanNode.java:907)
at com.starrocks.planner.PlanNode.pushdownRuntimeFilterForChildOrAccept(PlanNode.java:936)
at com.starrocks.planner.JoinNode.pushDownRuntimeFiltersForChild(JoinNode.java:289)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(JoinNode.java:308)
at com.starrocks.planner.PlanNode.pushDownRuntimeFilters(PlanNode.java:809)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(JoinNode.java:313)
at com.starrocks.planner.PlanNode.tryPushdownRuntimeFilterToChild(PlanNode.java:907)
at com.starrocks.planner.PlanNode.pushdownRuntimeFilterForChildOrAccept(PlanNode.java:936)
at com.starrocks.planner.JoinNode.pushDownRuntimeFiltersForChild(JoinNode.java:289)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(JoinNode.java:308)
at com.starrocks.planner.PlanNode.tryPushdownRuntimeFilterToChild(PlanNode.java:907)
at com.starrocks.planner.PlanNode.pushdownRuntimeFilterForChildOrAccept(PlanNode.java:936)
at com.starrocks.planner.JoinNode.pushDownRuntimeFiltersForChild(JoinNode.java:289)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(JoinNode.java:308)
at com.starrocks.planner.PlanNode.pushDownRuntimeFilters(PlanNode.java:809)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(JoinNode.java:313)
at com.starrocks.planner.PlanNode.pushDownRuntimeFilters(PlanNode.java:809)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(JoinNode.java:313)
at com.starrocks.planner.PlanNode.pushDownRuntimeFilters(PlanNode.java:809)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(JoinNode.java:313)
at com.starrocks.planner.PlanNode.pushDownRuntimeFilters(PlanNode.java:809)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(JoinNode.java:313)
at com.starrocks.planner.PlanNode.tryPushdownRuntimeFilterToChild(PlanNode.java:907)
at com.starrocks.planner.PlanNode.pushdownRuntimeFilterForChildOrAccept(PlanNode.java:936)
at com.starrocks.planner.JoinNode.pushDownRuntimeFiltersForChild(JoinNode.java:289)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(JoinNode.java:308)
at com.starrocks.planner.PlanNode.pushDownRuntimeFilters(PlanNode.java:809)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(JoinNode.java:313)
at com.starrocks.planner.PlanNode.pushDownRuntimeFilters(PlanNode.java:809)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(JoinNode.java:313)
at com.starrocks.planner.PlanNode.pushDownRuntimeFilters(PlanNode.java:809)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(JoinNode.java:313)
at com.starrocks.planner.PlanNode.tryPushdownRuntimeFilterToChild(PlanNode.java:907)
at com.starrocks.planner.PlanNode.pushdownRuntimeFilterForChildOrAccept(PlanNode.java:936)
at com.starrocks.planner.JoinNode.pushDownRuntimeFiltersForChild(JoinNode.java:289)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(JoinNode.java:308)
at com.starrocks.planner.PlanNode.tryPushdownRuntimeFilterToChild(PlanNode.java:907)
at com.starrocks.planner.PlanNode.pushdownRuntimeFilterForChildOrAccept(PlanNode.java:936)
at com.starrocks.planner.JoinNode.pushDownRuntimeFiltersForChild(JoinNode.java:289)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(JoinNode.java:308)
at com.starrocks.planner.PlanNode.pushDownRuntimeFilters(PlanNode.java:809)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(JoinNode.java:313)
at com.starrocks.planner.PlanNode.tryPushdownRuntimeFilterToChild(PlanNode.java:907)
at com.starrocks.planner.PlanNode.pushdownRuntimeFilterForChildOrAccept(PlanNode.java:936)
at com.starrocks.planner.JoinNode.pushDownRuntimeFiltersForChild(JoinNode.java:289)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(JoinNode.java:308)
at com.starrocks.planner.PlanNode.pushDownRuntimeFilters(PlanNode.java:809)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(Unknown Source)
at com.starrocks.planner.PlanNode.pushDownRuntimeFilters(Unknown Source)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(Unknown Source)
at com.starrocks.planner.PlanNode.pushDownRuntimeFilters(Unknown Source)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(Unknown Source)
at com.starrocks.planner.PlanNode.tryPushdownRuntimeFilterToChild(Unknown Source)
at com.starrocks.planner.PlanNode.pushdownRuntimeFilterForChildOrAccept(Unknown Source)
at com.starrocks.planner.JoinNode.pushDownRuntimeFiltersForChild(Unknown Source)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(Unknown Source)
at com.starrocks.planner.PlanNode.tryPushdownRuntimeFilterToChild(Unknown Source)
at com.starrocks.planner.PlanNode.pushdownRuntimeFilterForChildOrAccept(Unknown Source)
at com.starrocks.planner.JoinNode.pushDownRuntimeFiltersForChild(Unknown Source)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(Unknown Source)
at com.starrocks.planner.PlanNode.tryPushdownRuntimeFilterToChild(Unknown Source)
at com.starrocks.planner.PlanNode.pushdownRuntimeFilterForChildOrAccept(Unknown Source)
at com.starrocks.planner.JoinNode.pushDownRuntimeFiltersForChild(Unknown Source)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(Unknown Source)
at com.starrocks.planner.PlanNode.tryPushdownRuntimeFilterToChild(Unknown Source)
at com.starrocks.planner.PlanNode.pushdownRuntimeFilterForChildOrAccept(Unknown Source)
at com.starrocks.planner.JoinNode.pushDownRuntimeFiltersForChild(Unknown Source)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(Unknown Source)
at com.starrocks.planner.PlanNode.tryPushdownRuntimeFilterToChild(Unknown Source)
at com.starrocks.planner.PlanNode.pushdownRuntimeFilterForChildOrAccept(Unknown Source)
at com.starrocks.planner.JoinNode.pushDownRuntimeFiltersForChild(Unknown Source)
at com.starrocks.planner.JoinNode.pushDownRuntimeFilters(Unknown Source)
at com.starrocks.planner.PlanNode.tryPushdownRuntimeFilterToChild(Unknown Source)
at com.starrocks.planner.PlanNode.pushdownRuntimeFilterForChildOrAccept(Unknown Source)
at com.starrocks.planner.ProjectNode.pushDownRuntimeFilters(Unknown Source)
at com.starrocks.planner.SortNode.buildRuntimeFilters(Unknown Source)
at com.starrocks.sql.plan.PlanFragmentBuilder$PhysicalPlanTranslator.buildPartialTopNFragment(PlanFragmentBuilder.java:2161)
at com.starrocks.sql.plan.PlanFragmentBuilder$PhysicalPlanTranslator.visitPhysicalTopN(PlanFragmentBuilder.java:2041)
at com.starrocks.sql.plan.PlanFragmentBuilder$PhysicalPlanTranslator.visitPhysicalTopN(PlanFragmentBuilder.java:380)
at com.starrocks.sql.optimizer.operator.physical.PhysicalTopNOperator.accept(PhysicalTopNOperator.java:141)
at com.starrocks.sql.plan.PlanFragmentBuilder$PhysicalPlanTranslator.visit(PlanFragmentBuilder.java:397)
at com.starrocks.sql.plan.PlanFragmentBuilder$PhysicalPlanTranslator.visitPhysicalTopN(PlanFragmentBuilder.java:2037)
at com.starrocks.sql.plan.PlanFragmentBuilder$PhysicalPlanTranslator.visitPhysicalTopN(PlanFragmentBuilder.java:380)
at com.starrocks.sql.optimizer.operator.physical.PhysicalTopNOperator.accept(PhysicalTopNOperator.java:141)
at com.starrocks.sql.plan.PlanFragmentBuilder$PhysicalPlanTranslator.visit(PlanFragmentBuilder.java:397)
at com.starrocks.sql.plan.PlanFragmentBuilder$PhysicalPlanTranslator.translate(PlanFragmentBuilder.java:391)
at com.starrocks.sql.plan.PlanFragmentBuilder.createPhysicalPlan(PlanFragmentBuilder.java:227)
at com.starrocks.sql.StatementPlanner.createQueryPlan(StatementPlanner.java:201)
at com.starrocks.sql.StatementPlanner.plan(StatementPlanner.java:130)
at com.starrocks.sql.StatementPlanner.plan(StatementPlanner.java:87)
at com.starrocks.qe.StmtExecutor.execute(StmtExecutor.java:486)
at com.starrocks.qe.ConnectProcessor.handleQuery(ConnectProcessor.java:394)
at com.starrocks.qe.ConnectProcessor.dispatch(ConnectProcessor.java:588)
at com.starrocks.qe.ConnectProcessor.processOnce(ConnectProcessor.java:872)
at com.starrocks.mysql.nio.ReadListener.lambda$handleEvent$0(ReadListener.java:69)
at com.starrocks.mysql.nio.ReadListener$$Lambda$434/0x000000080081a040.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@11.0.18/ThreadPoolExecutor.java:1128)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@11.0.18/ThreadPoolExecutor.java:628)
at java.lang.Thread.run(java.base@11.0.18/Thread.java:829)
StarRocks version (Required)
3.2.3
The text was updated successfully, but these errors were encountered:
And it is related to pusing down the count distinct if 'month' column filter in the outer select to the inner 'substring' on 'apply_month'.
If we reduce the 'count distinct' conditions count to half, starrocks might return the result.
ever4Kenny
changed the title
FE starrocks-mysql-nio-pool thread dead loop caught in JoinNode.pushDownRuntimeFilters
[FE][Dead Loop]starrocks-mysql-nio-pool thread dead loop caught in JoinNode.pushDownRuntimeFilters
May 14, 2024
Steps to reproduce the behavior (Required)
Query hive catalog with the following two tables:
Expected behavior (Required)
Get the correct result as trinno(which will return the result within one miniute).
Real behavior (Required)
The FE starrocks mysql nio pool thread stuck forever, and we can't get the result forever. See the cpu time and elapsed:
"
StarRocks version (Required)
The text was updated successfully, but these errors were encountered: