Chinmay Kulkarni created PHOENIX-6129:
-----------------------------------------
Summary: Remove unnecessary HBase Admin API calls when writing and
deleting mutex cells
Key: PHOENIX-6129
URL: https://issues.apache.org/jira/browse/PHOENIX-6129
Project: Phoenix
Issue Type: Improvement
Affects Versions: 4.15.0, 5.0.0
Reporter: Chinmay Kulkarni
Fix For: 5.1.0, 4.16.0
Inside CQSI.writeMutexCell(), we call
[getSysMutexPhysicalTableNameBytes()|https://github.com/apache/phoenix/blob/e3c7b4bdce2524eb4fd1e7eb0ccd3454fcca81ce/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java#L4244]
which in turn calls HBase Admin APIs to check the existence of
SYSTEM.MUTEX/SYSTEM:MUTEX
[here|https://github.com/apache/phoenix/blob/e3c7b4bdce2524eb4fd1e7eb0ccd3454fcca81ce/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java#L4309-L4312].
Later, we anyways try to get the HTable both inside
[writeMutexCell()|https://github.com/apache/phoenix/blob/e3c7b4bdce2524eb4fd1e7eb0ccd3454fcca81ce/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java#L4245]
and
[deleteMutexCell()|https://github.com/apache/phoenix/blob/e3c7b4bdce2524eb4fd1e7eb0ccd3454fcca81ce/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java#L4289].
Instead, we can lazily fail this getTable() call (by catching the HBase
TableNotFoundException) to avoid additional HBase Admin API calls.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)