Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
Impala 2.7.0
Description
Trying to add a partition which already exists in HMS but not in catalog throws an IllegalArgumentException. Steps to reproduce:
impala> create table foo (a int) partitioned by (x int); impala> describe foo; <-- trigger a metadata load hive> alter table foo add partition (x = 1); impala> alter table foo add if not exists partition (x = 1); ERROR: IllegalArgumentException: Can not create a Path from a null string
From the catalog.INFO we get the following stacktrace:
I0915 14:22:00.215077 3710 jni-util.cc:169] java.lang.IllegalArgumentException: Can not create a Path from a null string at org.apache.hadoop.fs.Path.checkPathArg(Path.java:123) at org.apache.hadoop.fs.Path.<init>(Path.java:135) at com.cloudera.impala.catalog.HdfsTable.createPartition(HdfsTable.java:837) at com.cloudera.impala.catalog.HdfsTable.createPartition(HdfsTable.java:792) at com.cloudera.impala.service.CatalogOpExecutor.addHdfsPartition(CatalogOpExecutor.java:508) at com.cloudera.impala.service.CatalogOpExecutor.alterTableAddPartition(CatalogOpExecutor.java:1707) at com.cloudera.impala.service.CatalogOpExecutor.alterTable(CatalogOpExecutor.java:373) at com.cloudera.impala.service.CatalogOpExecutor.execDdlRequest(CatalogOpExecutor.java:239) at com.cloudera.impala.service.JniCatalog.execDdl(JniCatalog.java:137)