Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
Impala 0.5
-
None
-
None
Description
Impala needs to be sure to have a per-thread/request HiveMetaStoreClient created. Currently, we create one HiveMetastoreClient in the Catalog ctor. This works fine if talking directly to a metastore DB (mysql/postgres/etc), but won't work when going over the the thrift interface (when talking to a Hive Metastore Server). In this case, concurrent queries that load metadata may fail with the error:
E Caused by: org.apache.thrift.TApplicationException: get_fields failed: out of sequence response E at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:76) E at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.recv_get_fields(ThriftHiveMetastore.java:629) E at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.get_fields(ThriftHiveMetastore.java:615) E at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.getFields(HiveMetaStoreClient.java:854)