[ 
https://issues.apache.org/jira/browse/FLINK-40540?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated FLINK-40540:
-----------------------------------
    Labels: pull-request-available  (was: )

> Put the rule's reason first in the planner's "Cannot generate a valid 
> execution plan" message
> ---------------------------------------------------------------------------------------------
>
>                 Key: FLINK-40540
>                 URL: https://issues.apache.org/jira/browse/FLINK-40540
>             Project: Flink
>          Issue Type: Improvement
>          Components: Table SQL / Planner
>            Reporter: Martijn Visser
>            Assignee: Martijn Visser
>            Priority: Major
>              Labels: pull-request-available
>
> When a planner rule rejects a query with a TableException during the Volcano 
> phase, FlinkVolcanoProgram rewraps it as "Cannot generate a valid execution 
> plan for the given query:" followed by the full FlinkLogical plan and only 
> then the rule's own message, plus a generic "Please check the documentation" 
> trailer. The rule sentence is the only actionable part; the plan buries it. 
> Users of the Java API, the SQL gateway and PyFlink see the wrapped form. The 
> SQL client happens to hide it because it prints the innermost cause.
> Proposal: keep the wrapper exception and its cause chain, so that tests and 
> tools matching on the header, the type or the cause keep working, but put the 
> rule's message on the header line and move the plan behind a "Plan:" marker 
> so that tools rewriting the message can find and strip it:
>   Cannot generate a valid execution plan for the given query: <rule message>
>   Plan:
>   <FlinkLogical plan>
> A ValidationException thrown while applying a rule gets the same shape as a 
> ValidationException (with the original as cause) instead of leaking as 
> Calcite's RuntimeException. The CannotPlanException case keeps its text and 
> gets the same "Plan:" marker. The "Sql optimization: " prefix on the 
> Calcite-wrapped path and the "Please check the documentation" trailer on rule 
> rejections are dropped.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to