You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Miklos Szurap (Jira)" <ji...@apache.org> on 2021/04/29 08:40:01 UTC

[jira] [Created] (HIVE-25074) Remove Metastore flushCache usage

Miklos Szurap created HIVE-25074:
------------------------------------

             Summary: Remove Metastore flushCache usage
                 Key: HIVE-25074
                 URL: https://issues.apache.org/jira/browse/HIVE-25074
             Project: Hive
          Issue Type: Improvement
          Components: Metastore, Standalone Metastore
    Affects Versions: 4.0.0
            Reporter: Miklos Szurap


The "flushCache" in HiveMetaStore with the ObjectStore implementation is currently a NOOP:
{code:java}
  public void flushCache() {
    // NOP as there's no caching
  } {code}
The HBaseStore (HBaseReadWrite) had some logic in it, however it has been removed in HIVE-17234.

As I see the calls are going like this:

HiveMetaStoreClient.flushCache() -> CachedStore.flushCache() -> ObjectStore.flushCache()

There are significant amount of calls (about 10% of all calls) made from the client to the server - to do nothing. We could spare the call to the server completely, including getting a DB connection which can take 1+ seconds under high load scenarios slowing down Hive queries unnecessarily.

Can we:
 # Deprecate the RawStore.flushCache (if there are other implementations)
 # Deprecate the HiveMetaStoreClient.flushCache()
 # Do the NOOP on the client side in HiveMetaStoreClient.flushCache() (while it is not removed in a next version)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)