Hi,
I'm using hive metastore api(org.apache.hive.hive-metastore-2.1.0.jar) to create table, when I do not specify the location uri, it works fine: ``` HiveConf c = new HiveConf(); c.set("hive.metastore.uris", "thrift://xx.xx.xx.xx:9083"); HiveMetaStoreClient client = new HiveMetaStoreClient(c); Table table = new Table(); table.setDbName("default"); table.setTableName("dmx4"); StorageDescriptor sd = new StorageDescriptor(); List<FieldSchema> cols = new ArrayList<FieldSchema>(); FieldSchema f1 = new FieldSchema("id", "int", "id"); FieldSchema f2 = new FieldSchema("name", "string", "name"); cols.add(f1); cols.add(f2); sd.setCols(cols); //sd.setLocation("hdfs://user/hive/warehouse/mx"); sd.setInputFormat("org.apache.hadoop.mapred.TextInputFormat"); sd.setOutputFormat("org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat"); SerDeInfo serdeInfo = new SerDeInfo(); serdeInfo.setSerializationLib("org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"); Map<String, String> serdeParameters = new HashMap<String, String>(); serdeParameters.put("field.delim", ","); serdeInfo.setParameters(serdeParameters); sd.setSerdeInfo(serdeInfo); table.setSd(sd); table.setOwner("root"); table.setTableType("MANAGED_TABLE"); client.createTable(table); ``` But it throws NPE when I specify the location uri: ``` HiveConf c = new HiveConf(); c.set("hive.metastore.uris", "thrift://xx.xx.xx.xx:9083"); HiveMetaStoreClient client = new HiveMetaStoreClient(c); Table table = new Table(); table.setDbName("default"); table.setTableName("dmx4"); StorageDescriptor sd = new StorageDescriptor(); List<FieldSchema> cols = new ArrayList<FieldSchema>(); FieldSchema f1 = new FieldSchema("id", "int", "id"); FieldSchema f2 = new FieldSchema("name", "string", "name"); cols.add(f1); cols.add(f2); sd.setCols(cols); sd.setLocation("hdfs://user/hive/warehouse/mx"); sd.setInputFormat("org.apache.hadoop.mapred.TextInputFormat"); sd.setOutputFormat("org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat"); SerDeInfo serdeInfo = new SerDeInfo(); serdeInfo.setSerializationLib("org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"); Map<String, String> serdeParameters = new HashMap<String, String>(); serdeParameters.put("field.delim", ","); serdeInfo.setParameters(serdeParameters); sd.setSerdeInfo(serdeInfo); table.setSd(sd); table.setOwner("root"); table.setTableType("MANAGED_TABLE"); client.createTable(table); ``` stack trace: ``` org.apache.hadoop.hive.metastore.api.MetaException: java.lang.NullPointerException at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$create_table_with_environment_context_result$create_table_with_environment_context_resultStandardScheme.read(ThriftHiveMetastore.java:41498) ~[org.apache.hive.hive-metastore-2.1.0.jar:2.1.0] at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$create_table_with_environment_context_result$create_table_with_environment_context_resultStandardScheme.read(ThriftHiveMetastore.java:41466) ~[org.apache.hive.hive-metastore-2.1.0.jar:2.1.0] at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$create_table_with_environment_context_result.read(ThriftHiveMetastore.java:41392) ~[org.apache.hive.hive-metastore-2.1.0.jar:2.1.0] at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:86) ~[org.apache.thrift.libthrift-0.9.3.jar:0.9.3] at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.recv_create_table_with_environment_context(ThriftHiveMetastore.java:1183) ~[org.apache.hive.hive-metastore-2.1.0.jar:2.1.0] at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.create_table_with_environment_context(ThriftHiveMetastore.java:1169) ~[org.apache.hive.hive-metastore-2.1.0.jar:2.1.0] at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.create_table_with_environment_context(HiveMetaStoreClient.java:2323) ~[org.apache.hive.hive-metastore-2.1.0.jar:2.1.0] at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.createTable(HiveMetaStoreClient.java:736) ~[org.apache.hive.hive-metastore-2.1.0.jar:2.1.0] at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.createTable(HiveMetaStoreClient.java:724) ~[org.apache.hive.hive-metastore-2.1.0.jar:2.1.0] ``` Is this a bug? Do you have any idea?