Captured in HIVE-12285. Thanks - Elliot.
On 28 October 2015 at 08:54, Elliot West <[email protected]> wrote: > Perhaps, I'd expect one might wish to make multiple API calls when holding > a lock, but a suitably implemented client may be able to manage this > seamlessly. Then again a user may also wish to have explicit control of > locking. No reason it couldn't offer both. I'll create a JIRA to capture > this. As we are working with these APIs currently, I expect that we may be > able to submit a patch. > > Thanks for your responses, > > Elliot. > > > On Tuesday, 27 October 2015, Eugene Koifman <[email protected]> > wrote: > >> Wouldn’t it make more sense for the api to acquire required locks >> automatically? That seems like a simpler user model. >> >> From: Alan Gates <[email protected]> >> Reply-To: "[email protected]" <[email protected]> >> Date: Tuesday, October 27, 2015 at 11:34 AM >> To: "[email protected]" <[email protected]> >> Subject: Re: Locking when using the Metastore/HCatalog APIs. >> >> Answers inlined. >> >> Elliot West >> 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. >> >
