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.
>>
>

Reply via email to