Aleksandr Efimov has posted comments on this change. ( http://gerrit.cloudera.org:8080/24693 )
Change subject: IMPALA-15236: Expose HBO match provenance ...................................................................... Patch Set 5: (2 comments) The profile still carries this as text. IMPALA-15236 mentions plan-graph.py not being able to explain why history was reused, and the accuracy rate you asked for is the same direction. Do you want a machine-readable form tracked here, or as its own change? The Jira says it does not require stabilising the V2 profile format, so I read it as separate work, but it is your call. Tested: HistoricalStatsTest, 8 tests, and the frontend builds. I could not run test_matching_provenance - no cluster here - so the profile behaviour is verified by reading and compiling rather than by running. http://gerrit.cloudera.org:8080/#/c/24693/5/fe/src/main/java/org/apache/impala/planner/PlanNode.java File fe/src/main/java/org/apache/impala/planner/PlanNode.java: http://gerrit.cloudera.org:8080/#/c/24693/5/fe/src/main/java/org/apache/impala/planner/PlanNode.java@491 PS5, Line 491: expBuilder.append(detailPrefix) My answer here on PS2 was wrong and I should not have marked it done. The option gated the details line, but the strategy went into the annotation itself, so "(from HBO)" became "(from HBO EXPR_REWRITE)" on 218 golden lines. PS5 keeps the annotation stable and moves the strategy into the details line - the place you called it redundant on PS2. It is not redundant now, since the annotation no longer names it. The one default-text change left is a match that dropped partition constants: it may describe a different partition than the one being planned, so it reads "(from HBO, partition constants ignored)". In the goldens that is 204 lines back to their old text, 14 changed, and thirteen golden files out of the patch. If you would rather have no change there at all, it can go behind the option too. http://gerrit.cloudera.org:8080/#/c/24693/5/tests/query_test/test_hbo.py File tests/query_test/test_hbo.py: http://gerrit.cloudera.org:8080/#/c/24693/5/tests/query_test/test_hbo.py@92 PS5, Line 92: # behind once the query is gone, and it names the strategy that matched. Done in PS5. The profile is rendered by its own call that forces the details on, so it carries them with no query option, while EXPLAIN still needs ENABLE_EXPLAIN_HBO. The second render only happens when the two would differ - the option off and some node carrying an HBO match - so a query without HBO pays nothing for it. -- To view, visit http://gerrit.cloudera.org:8080/24693 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6d2deaaf78a2a41353454ba634a247d8c69825bf Gerrit-Change-Number: 24693 Gerrit-PatchSet: 5 Gerrit-Owner: Aleksandr Efimov <[email protected]> Gerrit-Reviewer: Aleksandr Efimov <[email protected]> Gerrit-Reviewer: Impala Public Jenkins <[email protected]> Gerrit-Reviewer: Quanlong Huang <[email protected]> Gerrit-Reviewer: Steve Carlin <[email protected]> Gerrit-Comment-Date: Sun, 23 Aug 2026 11:47:49 +0000 Gerrit-HasComments: Yes
