@Override public boolean dropPartition(String catName, String dbName, String tblName, String partName)
      throws MetaException, NoSuchObjectException, InvalidObjectException, InvalidInputException {
    boolean succ = rawStore.dropPartition(catName, dbName, tblName, partName);
    // in case of event based cache update, cache will be updated during commit.
    if (succ && !canUseEvents) {
      catName = normalizeIdentifier(catName);
      dbName = normalizeIdentifier(dbName);
      tblName = normalizeIdentifier(tblName);
      if (shouldCacheTable(catName, dbName, tblName)) {
        sharedCache.removePartitionFromCache(catName, dbName, tblName, partNameToVals(partName));
      }
    }
    return succ;
  }
This starts a background thread, which initially populates the SharedCache and later
periodically gets updates from the metastore db

@param conf
@param runOnlyOnce
@param shouldRunPrewarm
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/cache/CachedStore.java