You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "Gabor Kaszab (Jira)" <ji...@apache.org> on 2023/04/28 16:01:00 UTC

[jira] [Created] (IMPALA-12107) Precodition check fail when creating range partitioned Kudu table with unsupported types

Gabor Kaszab created IMPALA-12107:
-------------------------------------

             Summary: Precodition 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



{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)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org