hive-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Eugene Koifman <ekoif...@hortonworks.com>
Subject Re: Locking when using the Metastore/HCatalog APIs.
Date Tue, 27 Oct 2015 22:43:27 GMT
Wouldn't it make more sense for the api to acquire required locks automatically?   That seems
like a simpler user model.

From: Alan Gates <alanfgates@gmail.com<mailto:alanfgates@gmail.com>>
Reply-To: "user@hive.apache.org<mailto:user@hive.apache.org>" <user@hive.apache.org<mailto:user@hive.apache.org>>
Date: Tuesday, October 27, 2015 at 11:34 AM
To: "user@hive.apache.org<mailto:user@hive.apache.org>" <user@hive.apache.org<mailto:user@hive.apache.org>>
Subject: Re: Locking when using the Metastore/HCatalog APIs.

Answers inlined.

[cid:part1.03000101.04030306@gmail.com]
Elliot West<mailto:teabot@gmail.com>
October 22, 2015 at 6:40
I notice from the Hive locking wiki page<https://cwiki.apache.org/confluence/display/Hive/Locking>
that locks may be acquired for a range of HQL DDL operations. I wanted to know how the locking
scheme mapped mapped/employed by equivalent operations in the Metastore and HCatalog APIs.
Consider the operation:

alter table T1 drop partition P1

This apparently requires a shared lock on T1 and an exclusive lock on P1. However, when following
the invocation chain on the equivalent APIs I can see no acquisition of such locks:

HCatClient.dropPartitions(...)
IMetaStoreClient.dropPartition(...)

I notice that IMetaStoreClient exposes methods to lock and unlock resources and I have used
these when working with the ACID APIs. However I can find nothing similar on the HCatalog
API. As a user of these APIs:

  1.  Do I need to acquire/release locks as declared on the wiki page when using equivalent
operations in these APIs?

Yes.

  1.  If not, why not?
  2.  Ideally, should the HCatClient also expose lock/unlock methods like the Metastore API?

Yes.

  1.  If not, why not?

Thank you - Elliot.
Alan.

Mime
View raw message