Noémi Pap-Takács created IMPALA-15072:
-----------------------------------------

             Summary: Exclude OPTIMIZE TABLE maintenance operation from lineage 
graph
                 Key: IMPALA-15072
                 URL: https://issues.apache.org/jira/browse/IMPALA-15072
             Project: IMPALA
          Issue Type: Bug
            Reporter: Noémi Pap-Takács
            Assignee: Noémi Pap-Takács


Running OPTIMIZE TABLE on Iceberg V3 tables migrated from V2 throws an 
IllegalStateException in ColumnLineageGraph:
{noformat}
java.lang.RuntimeException: java.lang.IllegalStateException  at 
org.apache.impala.service.Frontend.getTExecRequestWithFallback(Frontend.java:2473)
  at org.apache.impala.service.Frontend.createExecRequest(Frontend.java:2140)  
at 
org.apache.impala.service.JniFrontend.createExecRequest(JniFrontend.java:180) 
Caused by: java.lang.IllegalStateException  at 
com.google.common.base.Preconditions.checkState(Preconditions.java:497)  at 
org.apache.impala.analysis.ColumnLineageGraph.computeProjectionDependencies(ColumnLineageGraph.java:637)
  at 
org.apache.impala.analysis.ColumnLineageGraph.computeLineageGraph(ColumnLineageGraph.java:607)
  at org.apache.impala.planner.Planner.createPlanFragments(Planner.java:281)  
at org.apache.impala.planner.Planner.createPlans(Planner.java:314)  at 
org.apache.impala.service.Frontend.createExecRequest(Frontend.java:2078){noformat}
The Precondition check 
{code:java}
Preconditions.checkState(resultExprs.size() == 
targetColumnLabels_.size());{code}
fails because V3 tables have 2 hidden columns: {{_file_row_id}} and 
{{_file_last_updated_sequence_number.}}
'targetColumnLabels_' contains them but 'resultExprs' filters out hidden 
columns.

 

Proposed solution:

We could exclude OPTIMIZE TABLE from the lineage graph, since it is a 
maintenance operation that unnecessarily pollutes the graph.



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

Reply via email to