synchronized private static void initConnectionUrlHook(Configuration conf,
    MetaStoreInitData updateData) throws ClassNotFoundException {

    String className = MetastoreConf.getVar(conf, ConfVars.CONNECT_URL_HOOK, "").trim();
    if (className.equals("")) {
      updateData.urlHookClassName = "";
      updateData.urlHook = null;
      return;
    }
    boolean urlHookChanged = !updateData.urlHookClassName.equals(className);
    if (updateData.urlHook == null || urlHookChanged) {
      updateData.urlHookClassName = className.trim();

      Class<?> urlHookClass = Class.forName(updateData.urlHookClassName, true,
          JavaUtils.getClassLoader());
      updateData.urlHook = (JDOConnectionURLHook) ReflectionUtils.newInstance(urlHookClass, null);
    }
  }
Updates the connection URL in hiveConf using the hook (if a hook has been
set using hive.metastore.ds.connection.url.hook property)
@param originalConf - original configuration used to look up hook settings
@param activeConf - the configuration file in use for looking up db url
@param badUrl
@param updateData - hook information
@return true if a new connection URL was loaded into the thread local
        configuration
@throws MetaException
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreInit.java