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

Reply via email to