hi godfrey, 刚看了下, blink应该也会用hep , 上文说错了
jun su <sujun891...@gmail.com> 于2020年9月23日周三 上午9:19写道: > hi godfrey, > 我用了最新代码的blink没这个问题, 我看代码flink是先用hep然后进valcano, 而blink貌似没用hep, > 我将hep代码注释后valcano的迭代次数会大幅减少, 语句嵌套10层基本在4000次左右能获取最佳方案,我再debug看下原因 > > godfrey he <godfre...@gmail.com> 于2020年9月22日周二 下午8:58写道: > >> blink planner 有这个问题吗? >> >> jun su <sujun891...@gmail.com> 于2020年9月22日周二 下午3:27写道: >> >> > hi all, >> > >> > 环境: flink-1.9.2 flink table planner >> > 现象: 代码一直在 VolcanoPlanner.findBestExp()方法中出不来, 直到OOM >> > >> > 发现在嵌套4层时 findBestExp方法中while(true)会循环3w多次后成功退出, 嵌套5层会达到几十万级别, 导致进程OOM >> > ----------------------------------------------- >> > 代码: >> > >> > fbTableEnv.registerTableSource("source",orcTableSource) >> > >> > val select = fbTableEnv.sqlQuery("select >> > Auth_Roles,Target_UserSid,Thread_ID,access_path,action from source ") >> > >> > fbTableEnv.registerTable("selectTable",select) >> > >> > val t1 = fbTableEnv.sqlQuery("select >> > Auth_Roles,Target_UserSid,Thread_ID,access_path,action from selectTable >> > where Auth_Roles like 'a%'") >> > fbTableEnv.registerTable("t1",t1) >> > >> > val t2 = fbTableEnv.sqlQuery("select >> > Auth_Roles,Target_UserSid,Thread_ID,access_path,action from t1 where >> > Target_UserSid= 'b'") >> > fbTableEnv.registerTable("t2",t2) >> > >> > val t3 = fbTableEnv.sqlQuery("select >> > Auth_Roles,Target_UserSid,Thread_ID,access_path,action from t2 where >> > Thread_ID= 'c'") >> > fbTableEnv.registerTable("t3",t3) >> > >> > val t4 = fbTableEnv.sqlQuery("select >> > Auth_Roles,Target_UserSid,Thread_ID,access_path,action from t3 where >> > access_path= 'd'") >> > fbTableEnv.registerTable("t4",t4) >> > >> > val t5 = fbTableEnv.sqlQuery("select >> > Auth_Roles,Target_UserSid,Thread_ID,access_path,action from t4 where >> > action= 'e'") >> > >> > >> > >> > -- >> > Best, >> > Jun Su >> > >> > > > -- > Best, > Jun Su > -- Best, Jun Su