Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/23666 )
Change subject: WIP: do not review, Calcite patch with most fixes for v1 for full Jenkins run ...................................................................... Patch Set 18: (58 comments) gerrit-auto-critic failed. You can reproduce it locally using command: python3 bin/jenkins/critique-gerrit-review.py --dryrun To run it, you might need a virtual env with Python3's venv installed. http://gerrit.cloudera.org:8080/#/c/23666/18/fe/src/main/java/org/apache/impala/planner/Planner.java File fe/src/main/java/org/apache/impala/planner/Planner.java: http://gerrit.cloudera.org:8080/#/c/23666/18/fe/src/main/java/org/apache/impala/planner/Planner.java@833 PS18, Line 833: public static boolean isInvertedJoinCheaper(JoinNode joinNode, boolean isLocalPlan, PlannerContext ctx) { line too long (107 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rel/util/PrunedPartitionHelper.java File java/calcite-planner/src/main/java/org/apache/impala/calcite/rel/util/PrunedPartitionHelper.java: http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rel/util/PrunedPartitionHelper.java@110 PS18, Line 110: nonPartitionedCalciteConjunct_ = RexUtil.flatten(rexBuilder, simplifier.simplify(tmpCalciteConjunct)); line too long (106 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java File java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java: http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@153 PS18, Line 153: protected static final Logger LOG = LoggerFactory.getLogger(ImpalaLoptOptimizeJoinRule.class.getName()); line too long (106 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2101 PS18, Line 2101: private static boolean experiment(RelMetadataQuery mq, LoptMultiJoin multiJoin, LoptJoinTree leftTree, LoptJoinTree rightTree, RexNode condition, RexBuilder rexBuilder, boolean adjust) { line too long (188 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2103 PS18, Line 2103: RuntimeFilterInfo runtimeFilterInfo = multiJoinRel.getCluster().getPlanner().getContext().unwrap(RuntimeFilterInfo.class); line too long (126 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2121 PS18, Line 2121: for (RexNode andCondition : andConditions) { line has trailing whitespace http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2122 PS18, Line 2122: runtimeFilterInfo.reductionMap_.putAll(createRuntimeFilterReductionContext(andCondition, adjust, line too long (102 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2142 PS18, Line 2142: leftTotalReduction = RuntimeFilterReductionContext.getTotalReduction(leftReductionList); line too long (94 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2146 PS18, Line 2146: rightTotalReduction = RuntimeFilterReductionContext.getTotalReduction(rightReductionList); line too long (96 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2151 PS18, Line 2151: // Double totalLeftReduction = leftTable.getRowCount() - leftTable.getRowCount() * leftReduction; line too long (100 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2152 PS18, Line 2152: // Double totalRightReduction = rightTable.getRowCount() - rightTable.getRowCount() * rightReduction; line too long (104 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2172 PS18, Line 2172: RelOptCost totalPreJoinNonSwapCost = leftSideWithFilterCost.plus(rightSideWithoutFilterCost); line too long (97 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2173 PS18, Line 2173: RelOptCost totalPreJoinSwapCost = leftSideWithoutFilterCost.plus(rightSideWithFilterCost); line too long (94 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2175 PS18, Line 2175: RelOptCost totalJoinNonSwapCost = totalPreJoinNonSwapCost.plus(ImpalaRelMdNonCumulativeCost.getJoinCost(leftSide, rightSide, mq)); line too long (134 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2176 PS18, Line 2176: RelOptCost totalJoinSwapCost = totalPreJoinSwapCost.plus(ImpalaRelMdNonCumulativeCost.getJoinCost(rightSide, leftSide, mq)); line too long (128 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2202 PS18, Line 2202: private static boolean swapBitSides(ImmutableBitSet bitSet, boolean adjust, LoptJoinTree rightTree, MultiJoin multiJoin) { line too long (124 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2215 PS18, Line 2215: startOfRightSideFields += multiJoin.getInputs().get(i).getRowType().getFieldList().size(); line too long (96 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2217 PS18, Line 2217: int endOfRightSideFields = startOfRightSideFields + multiJoin.getInputs().get(factor).getRowType().getFieldList().size(); line too long (125 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2219 PS18, Line 2219: return bitSet.nth(0) >= startOfRightSideFields && bitSet.nth(0) < endOfRightSideFields; line too long (91 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2222 PS18, Line 2222: private static Set<Integer> getLeftPreAdjustedIndexList(ImmutableBitSet bitSet, Set<Integer> rightPreAdjustedIndexList) { line too long (123 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2515 PS18, Line 2515: } line has trailing whitespace http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2529 PS18, Line 2529: } line has trailing whitespace http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2533 PS18, Line 2533: private static Map<TableScan, List<RuntimeFilterReductionContext>> createRuntimeFilterReductionContext( line too long (105 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2554 PS18, Line 2554: int rightIndex = adjust ? getAdjustedIndex(multiJoinRel, rightBit) : rightBit - leftSide.getRowType().getFieldList().size(); line too long (128 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2555 PS18, Line 2555: // Set<Integer> rightPreAdjustedIndexList = getRightPreAdjustedIndexList(bitSet, adjust, rightTree, multiJoinRel); line too long (117 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2556 PS18, Line 2556: // Set<Integer> leftPreAdjustedIndexList = getLeftPreAdjustedIndexList(bitSet, rightPreAdjustedIndexList); line too long (109 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2557 PS18, Line 2557: ImpalaRelColumnOrigin leftOrigin = (ImpalaRelColumnOrigin) mq.getColumnOrigin(leftSide, leftIndex); line too long (103 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2558 PS18, Line 2558: ImpalaRelColumnOrigin rightOrigin = (ImpalaRelColumnOrigin) mq.getColumnOrigin(rightSide, rightIndex); line too long (106 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2563 PS18, Line 2563: rightReduction = mq.getDistinctRowCount(leftSide, leftBitSet, null) / leftTableColumn.getStats().getNumDistinctValues(); line too long (126 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2571 PS18, Line 2571: Column rightTableColumn = rightTable.getColumn(rightOrigin.getOriginColumnOrdinal()); line too long (91 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2573 PS18, Line 2573: leftReduction = mq.getDistinctRowCount(rightSide, rightBitSet, null) / rightTableColumn.getStats().getNumDistinctValues(); line too long (128 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2580 PS18, Line 2580: reductionMap.computeIfAbsent(rightOrigin.getTableScan(), k -> new ArrayList<>()); line too long (92 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2581 PS18, Line 2581: contextList.add(new RuntimeFilterReductionContext(joinRelNodes, rightOrigin.getTableScan(), rightReduction, false, false)); line too long (129 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2585 PS18, Line 2585: reductionMap.computeIfAbsent(leftOrigin.getTableScan(), k -> new ArrayList<>()); line too long (91 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2586 PS18, Line 2586: contextList.add(new RuntimeFilterReductionContext(joinRelNodes, leftOrigin.getTableScan(), leftReduction, true, false)); line too long (126 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2592 PS18, Line 2592: RuntimeFilterInfo runtimeFilterInfo = rel.getCluster().getPlanner().getContext().unwrap(RuntimeFilterInfo.class); line too long (117 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2593 PS18, Line 2593: runtimeFilterInfo.inputRefs_ = getInputRefsForContext(rel, runtimeFilterInfo.inputRefs_, 0); line too long (96 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2603 PS18, Line 2603: RuntimeFilterInfo runtimeFilterInfo = rel.getCluster().getPlanner().getContext().unwrap(RuntimeFilterInfo.class); line too long (117 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2609 PS18, Line 2609: runtimeFilterInfo.inputRefs_ = getInputRefsForContext(rel, runtimeFilterInfo.inputRefs_, i); line too long (98 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2623 PS18, Line 2623: private static ImmutableBitSet getInputRefsForContext(RelNode rel, ImmutableBitSet currentSet, int i) { line too long (105 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2628 PS18, Line 2628: return ImmutableBitSet.range(rel.getInputs().get(0).getRowType().getFieldList().size()); line too long (96 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2640 PS18, Line 2640: return currentSet.union(RelOptUtil.InputFinder.bits(((Filter) rel).getCondition())); line too long (92 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2642 PS18, Line 2642: throw new RuntimeException("Unknown RelNodeType: " + ImpalaPlanRel.getRelNodeType(rel)); line too long (96 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2657 PS18, Line 2657: line has trailing whitespace http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaLoptOptimizeJoinRule.java@2669 PS18, Line 2669: public final Map<TableScan, List<RuntimeFilterReductionContext>> reductionMap_ = new HashMap<>(); line too long (101 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaSortRemoveConstantKeysRule.java File java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaSortRemoveConstantKeysRule.java: http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaSortRemoveConstantKeysRule.java@92 PS18, Line 92: return false; line has trailing whitespace http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelColumnOrigin.java File java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelColumnOrigin.java: http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelColumnOrigin.java@27 PS18, Line 27: private final TableScan tableScan_; line has trailing whitespace http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelMdColumnOrigins.java File java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelMdColumnOrigins.java: http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelMdColumnOrigins.java@69 PS18, Line 69: protected static final Logger LOG = LoggerFactory.getLogger(ImpalaRelMdColumnOrigins.class.getName()); line too long (104 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelMdColumnOrigins.java@88 PS18, Line 88: return mq.getColumnOrigins(rel.getInput(), rel.getGroupSet().asList().get(iOutputColumn)); line too long (96 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelMdColumnOrigins.java@206 PS18, Line 206: public @Nullable Set<RelColumnOrigin> getColumnOrigins(TableModify rel, RelMetadataQuery mq, line too long (94 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelMdColumnOrigins.java@314 PS18, Line 314: private static @Nullable Set<RelColumnOrigin> getMultipleColumns(RexNode rexNode, RelNode input, line too long (98 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelMdNonCumulativeCost.java File java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelMdNonCumulativeCost.java: http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelMdNonCumulativeCost.java@34 PS18, Line 34: import org.apache.impala.calcite.rules.ImpalaLoptOptimizeJoinRule.RuntimeFilterReductionContext; line too long (96 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelMdNonCumulativeCost.java@84 PS18, Line 84: line has trailing whitespace http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelMdNonCumulativeCost.java@115 PS18, Line 115: RuntimeFilterInfo runtimeFilterInfo = scan.getCluster().getPlanner().getContext().unwrap(RuntimeFilterInfo.class); line too long (118 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelMdNonCumulativeCost.java@119 PS18, Line 119: reductionPercentage = RuntimeFilterReductionContext.getTotalReductionPercentage(runtimeFilterInfo.useLeft_, runtimeFilterInfo.reductionMap_.get(scan)); line too long (159 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalciteRelNodeConverter.java File java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalciteRelNodeConverter.java: http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalciteRelNodeConverter.java@93 PS18, Line 93: this.planner_ = new VolcanoPlanner(new ImpalaLoptOptimizeJoinRule.RuntimeFilterInfo()); line too long (91 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalciteRelNodeConverter.java@107 PS18, Line 107: this.planner_ = new VolcanoPlanner(new ImpalaLoptOptimizeJoinRule.RuntimeFilterInfo()); line too long (91 > 90) http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/test/java/org/apache/impala/planner/TestReduceExprShuttle.java File java/calcite-planner/src/test/java/org/apache/impala/planner/TestReduceExprShuttle.java: http://gerrit.cloudera.org:8080/#/c/23666/18/java/calcite-planner/src/test/java/org/apache/impala/planner/TestReduceExprShuttle.java@69 PS18, Line 69: protected static final Logger LOG = LoggerFactory.getLogger(TestReduceExprShuttle.class.getName()); line too long (101 > 90) -- To view, visit http://gerrit.cloudera.org:8080/23666 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4af2efcf8d8a6038ad67aa7ef5da57d8d0f8a2bc Gerrit-Change-Number: 23666 Gerrit-PatchSet: 18 Gerrit-Owner: Steve Carlin <[email protected]> Gerrit-Reviewer: Impala Public Jenkins <[email protected]> Gerrit-Comment-Date: Thu, 25 Dec 2025 14:18:31 +0000 Gerrit-HasComments: Yes
