[
https://issues.apache.org/jira/browse/IMPALA-12107?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dániel Gábor Vankó resolved IMPALA-12107.
-----------------------------------------
Resolution: Fixed
> Precondition check fail when creating range partitioned Kudu table with
> unsupported types
> -----------------------------------------------------------------------------------------
>
> Key: IMPALA-12107
> URL: https://issues.apache.org/jira/browse/IMPALA-12107
> Project: IMPALA
> Issue Type: Bug
> Components: Frontend
> Reporter: Gabor Kaszab
> Assignee: Dániel Gábor Vankó
> Priority: Major
> Labels: kudu, newbie, ramp-up
> Fix For: Impala 5.0.0
>
>
> {code:java}
> CREATE TABLE example_table (
> id INT,
> value DECIMAL(18,2),
> PRIMARY KEY (id, value)
> )
> PARTITION BY RANGE (value) (
> PARTITION VALUES <= 1000.00,
> PARTITION 1000.00 < VALUES <= 5000.00,
> PARTITION 5000.00 < VALUES <= 10000.00,
> PARTITION 10000.00 < VALUES
> )
> STORED AS KUDU;
> {code}
> This leads to an IllegalStateException.
> {code:java}
> I0428 14:17:47.564204 10195 jni-util.cc:288]
> 8f47bda158e1bba1:1d38855b00000000] java.lang.IllegalStateException
> at
> com.google.common.base.Preconditions.checkState(Preconditions.java:492)
> at
> org.apache.impala.analysis.RangePartition.analyzeBoundaryValue(RangePartition.java:180)
> at
> org.apache.impala.analysis.RangePartition.analyzeBoundaryValues(RangePartition.java:150)
> at
> org.apache.impala.analysis.RangePartition.analyze(RangePartition.java:135)
> at
> org.apache.impala.analysis.KuduPartitionParam.analyzeRangeParam(KuduPartitionParam.java:144)
> at
> org.apache.impala.analysis.KuduPartitionParam.analyze(KuduPartitionParam.java:132)
> at
> org.apache.impala.analysis.CreateTableStmt.analyzeKuduPartitionParams(CreateTableStmt.java:550)
> at
> org.apache.impala.analysis.CreateTableStmt.analyzeSynchronizedKuduTableParams(CreateTableStmt.java:502)
> at
> org.apache.impala.analysis.CreateTableStmt.analyzeKuduFormat(CreateTableStmt.java:352)
> at
> org.apache.impala.analysis.CreateTableStmt.analyze(CreateTableStmt.java:266)
> at
> org.apache.impala.analysis.AnalysisContext.analyze(AnalysisContext.java:521)
> at
> org.apache.impala.analysis.AnalysisContext.analyzeAndAuthorize(AnalysisContext.java:468)
> at
> org.apache.impala.service.Frontend.doCreateExecRequest(Frontend.java:2059)
> at
> org.apache.impala.service.Frontend.getTExecRequest(Frontend.java:1967)
> at
> org.apache.impala.service.Frontend.createExecRequest(Frontend.java:1788)
> at
> org.apache.impala.service.JniFrontend.createExecRequest(JniFrontend.java:164)
> {code}
> Here:
> https://github.com/apache/impala/blob/112bab64b77d6ed966b1c67bd503ed632da6f208/fe/src/main/java/org/apache/impala/analysis/RangePartition.java#L198
> Instead of running into a Precondition check failure we should detect
> unsupported types beforehand and return and fail the query with a proper
> error message.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)