Thanks I didn't add any new rule, just these: CONSTANT_REDUCTION_RULES ABSTRACT_RELATIONAL_RULES BASE_RULES ABSTRACT_RULES ENUMERABLE_RULES
So this is a bug, or it just because of the call stack is too deep(if this, I can adjust JVM parameter). Regards! Aron Tao Scott Reynolds <[email protected]> 于2020年4月21日周二 上午1:10写道: > I have had this happen numerous times when writing new planner rules. Most > of the time my rule is missing some boolean logic to prevent itself from > transforming the call. This results in the rule continuously transforming > it's previous transformations. > > I can usually see this happening when I add a > System.out.println(RelOptUtil.dumpPlan()) to the line before the > call.transformTo(newRelationNode) > > On Mon, Apr 20, 2020 at 3:13 AM JiaTao Tao <[email protected]> wrote: > > > Hi > > Has anyone encountered this problem before? Just a simple query(no more > > than 20 lines, two joins, no union). > > > > And I see this ticket: > https://issues.apache.org/jira/browse/CALCITE-2057, > > but there's no follow up, also I see flink may occur this problem( > > https://developer.aliyun.com/ask/129548) > > > > java.lang.StackOverflowError > > at java.util.HashMap.hash(HashMap.java:339) > > at java.util.HashMap.put(HashMap.java:612) > > at > > > com.google.common.collect.StandardTable.getOrCreate(StandardTable.java:165) > > at > com.google.common.collect.StandardTable.put(StandardTable.java:174) > > at > com.google.common.collect.HashBasedTable.put(HashBasedTable.java:55) > > at GeneratedMetadataHandler_RowCount.getRowCount(Unknown Source) > > at > > > org.apache.calcite.rel.metadata.RelMetadataQuery.getRowCount(RelMetadataQuery.java:208) > > at > > > org.apache.calcite.rel.metadata.RelMdRowCount.getRowCount(RelMdRowCount.java:72) > > at GeneratedMetadataHandler_RowCount.getRowCount_$(Unknown Source) > > at GeneratedMetadataHandler_RowCount.getRowCount(Unknown Source) > > at ... > > > > Regards! > > > > Aron Tao > > >
