Answers inlined.
Elliot West <mailto:tea...@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.