public static DatabaseProduct getDatabaseProduct() {
    if (databaseProduct == null) {
      throw new IllegalStateException(
          "Cannot determine the database product. PersistenceManagerFactory has not been initialized yet");
    }
    return databaseProduct;
  }
creates a PersistenceManager instance for the current PersistenceManagerFactory. Note that this
acquires a read-lock on PersistenceManagerFactory so that this method will block if any other
thread is actively, (re-)initializing PersistenceManagerFactory when this method is called
Note that this method throws a RuntimeException, if PersistenceManagerFactory is not yet initialized.

@return PersistenceManager from the current PersistenceManagerFactory instance
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/PersistenceManagerProvider.java