This is an automated email from the ASF dual-hosted git repository.

dengzh pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git


The following commit(s) were added to refs/heads/master by this push:
     new 55dff6a525c HIVE-29396: Drop the property 
hive.metastore.try.direct.sql.ddl (#6265)
55dff6a525c is described below

commit 55dff6a525c0d3cbe13f25dbae460d25d7c164d6
Author: dengzh <[email protected]>
AuthorDate: Sun Jan 18 10:32:30 2026 +0800

    HIVE-29396: Drop the property hive.metastore.try.direct.sql.ddl (#6265)
---
 .../java/org/apache/hadoop/hive/conf/HiveConf.java | 118 ---------------------
 .../sqlstd/TestSQLStdHiveAccessControllerHS2.java  |   5 +-
 .../clientpositive/alter_table_column_stats.q      |   4 +-
 .../hadoop/hive/metastore/conf/MetastoreConf.java  |   8 --
 .../apache/hadoop/hive/metastore/ObjectStore.java  |   6 +-
 ...GetPartitionsUsingProjectionAndFilterSpecs.java |   1 -
 .../metastore/TestHiveMetaStoreGetMetaConf.java    |   9 --
 .../client/TestTablesCreateDropAlterTruncate.java  |   3 -
 8 files changed, 6 insertions(+), 148 deletions(-)

diff --git a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java 
b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
index 4a4a470c0d1..75b95d956e5 100644
--- a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
+++ b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
@@ -97,7 +97,6 @@ public class HiveConf extends Configuration {
   private static byte[] confVarByteArray = null;
 
   private static final Map<String, ConfVars> vars = new HashMap<String, 
ConfVars>();
-  private static final Map<String, ConfVars> metaConfs = new HashMap<String, 
ConfVars>();
   private final List<String> restrictList = new ArrayList<String>();
   private final Set<String> hiddenSet = new HashSet<String>();
   private final Set<String> lockedSet = new HashSet<>();
@@ -252,118 +251,11 @@ private static URL checkConfigFile(File f) {
     }
   }
 
-
-
-
   @InterfaceAudience.Private
   public static final String PREFIX_LLAP = "llap.";
   @InterfaceAudience.Private
   public static final String PREFIX_HIVE_LLAP = "hive.llap.";
 
-  /**
-   * Metastore related options that the db is initialized against. When a conf
-   * var in this is list is changed, the metastore instance for the CLI will
-   * be recreated so that the change will take effect.
-   */
-  public static final HiveConf.ConfVars[] metaVars = {
-      HiveConf.ConfVars.METASTORE_WAREHOUSE,
-      HiveConf.ConfVars.REPL_DIR,
-      HiveConf.ConfVars.METASTORE_URIS,
-      HiveConf.ConfVars.METASTORE_SELECTION,
-      HiveConf.ConfVars.METASTORE_SERVER_PORT,
-      HiveConf.ConfVars.METASTORE_THRIFT_CONNECTION_RETRIES,
-      HiveConf.ConfVars.METASTORE_THRIFT_FAILURE_RETRIES,
-      HiveConf.ConfVars.METASTORE_CLIENT_CONNECT_RETRY_DELAY,
-      HiveConf.ConfVars.METASTORE_CLIENT_SOCKET_TIMEOUT,
-      HiveConf.ConfVars.METASTORE_CLIENT_SOCKET_LIFETIME,
-      HiveConf.ConfVars.METASTORE_PWD,
-      HiveConf.ConfVars.METASTORE_CONNECT_URL_HOOK,
-      HiveConf.ConfVars.METASTORE_CONNECT_URL_KEY,
-      HiveConf.ConfVars.METASTORE_SERVER_MIN_THREADS,
-      HiveConf.ConfVars.METASTORE_SERVER_MAX_THREADS,
-      HiveConf.ConfVars.METASTORE_INT_ORIGINAL,
-      HiveConf.ConfVars.METASTORE_INT_ARCHIVED,
-      HiveConf.ConfVars.METASTORE_INT_EXTRACTED,
-      HiveConf.ConfVars.METASTORE_KERBEROS_KEYTAB_FILE,
-      HiveConf.ConfVars.METASTORE_KERBEROS_PRINCIPAL,
-      HiveConf.ConfVars.METASTORE_USE_THRIFT_SASL,
-      HiveConf.ConfVars.METASTORE_TOKEN_SIGNATURE,
-      HiveConf.ConfVars.METASTORE_CACHE_PINOBJTYPES,
-      HiveConf.ConfVars.METASTORE_CONNECTION_POOLING_TYPE,
-      HiveConf.ConfVars.METASTORE_VALIDATE_TABLES,
-      HiveConf.ConfVars.METASTORE_DATANUCLEUS_INIT_COL_INFO,
-      HiveConf.ConfVars.METASTORE_VALIDATE_COLUMNS,
-      HiveConf.ConfVars.METASTORE_VALIDATE_CONSTRAINTS,
-      HiveConf.ConfVars.METASTORE_STORE_MANAGER_TYPE,
-      HiveConf.ConfVars.METASTORE_AUTO_CREATE_ALL,
-      HiveConf.ConfVars.METASTORE_TRANSACTION_ISOLATION,
-      HiveConf.ConfVars.METASTORE_CACHE_LEVEL2,
-      HiveConf.ConfVars.METASTORE_CACHE_LEVEL2_TYPE,
-      HiveConf.ConfVars.METASTORE_IDENTIFIER_FACTORY,
-      HiveConf.ConfVars.METASTORE_PLUGIN_REGISTRY_BUNDLE_CHECK,
-      HiveConf.ConfVars.METASTORE_AUTHORIZATION_STORAGE_AUTH_CHECKS,
-      HiveConf.ConfVars.METASTORE_BATCH_RETRIEVE_MAX,
-      HiveConf.ConfVars.METASTORE_EVENT_LISTENERS,
-      HiveConf.ConfVars.METASTORE_TRANSACTIONAL_EVENT_LISTENERS,
-      HiveConf.ConfVars.METASTORE_EVENT_CLEAN_FREQ,
-      HiveConf.ConfVars.METASTORE_EVENT_EXPIRY_DURATION,
-      HiveConf.ConfVars.METASTORE_EVENT_MESSAGE_FACTORY,
-      HiveConf.ConfVars.METASTORE_FILTER_HOOK,
-      HiveConf.ConfVars.METASTORE_RAW_STORE_IMPL,
-      HiveConf.ConfVars.METASTORE_END_FUNCTION_LISTENERS,
-      HiveConf.ConfVars.METASTORE_PART_INHERIT_TBL_PROPS,
-      HiveConf.ConfVars.METASTORE_BATCH_RETRIEVE_OBJECTS_MAX,
-      HiveConf.ConfVars.METASTORE_INIT_HOOKS,
-      HiveConf.ConfVars.METASTORE_PRE_EVENT_LISTENERS,
-      HiveConf.ConfVars.HMS_HANDLER_ATTEMPTS,
-      HiveConf.ConfVars.HMS_HANDLER_INTERVAL,
-      HiveConf.ConfVars.HMS_HANDLER_FORCE_RELOAD_CONF,
-      HiveConf.ConfVars.METASTORE_PARTITION_NAME_WHITELIST_PATTERN,
-      HiveConf.ConfVars.METASTORE_ORM_RETRIEVE_MAPNULLS_AS_EMPTY_STRINGS,
-      HiveConf.ConfVars.METASTORE_DISALLOW_INCOMPATIBLE_COL_TYPE_CHANGES,
-      HiveConf.ConfVars.USERS_IN_ADMIN_ROLE,
-      HiveConf.ConfVars.HIVE_AUTHORIZATION_MANAGER,
-      HiveConf.ConfVars.HIVE_TXN_MANAGER,
-      HiveConf.ConfVars.HIVE_TXN_TIMEOUT,
-      HiveConf.ConfVars.HIVE_TXN_OPERATIONAL_PROPERTIES,
-      HiveConf.ConfVars.HIVE_TXN_HEARTBEAT_THREADPOOL_SIZE,
-      HiveConf.ConfVars.HIVE_TXN_MAX_OPEN_BATCH,
-      HiveConf.ConfVars.HIVE_TXN_RETRYABLE_SQLEX_REGEX,
-      HiveConf.ConfVars.HIVE_METASTORE_STATS_NDV_TUNER,
-      HiveConf.ConfVars.HIVE_METASTORE_STATS_NDV_DENSITY_FUNCTION,
-      HiveConf.ConfVars.METASTORE_AGGREGATE_STATS_CACHE_ENABLED,
-      HiveConf.ConfVars.METASTORE_AGGREGATE_STATS_CACHE_SIZE,
-      HiveConf.ConfVars.METASTORE_AGGREGATE_STATS_CACHE_MAX_PARTITIONS,
-      HiveConf.ConfVars.METASTORE_AGGREGATE_STATS_CACHE_FPP,
-      HiveConf.ConfVars.METASTORE_AGGREGATE_STATS_CACHE_MAX_VARIANCE,
-      HiveConf.ConfVars.METASTORE_AGGREGATE_STATS_CACHE_TTL,
-      HiveConf.ConfVars.METASTORE_AGGREGATE_STATS_CACHE_MAX_WRITER_WAIT,
-      HiveConf.ConfVars.METASTORE_AGGREGATE_STATS_CACHE_MAX_READER_WAIT,
-      HiveConf.ConfVars.METASTORE_AGGREGATE_STATS_CACHE_MAX_FULL,
-      HiveConf.ConfVars.METASTORE_AGGREGATE_STATS_CACHE_CLEAN_UNTIL,
-      HiveConf.ConfVars.METASTORE_FASTPATH,
-      HiveConf.ConfVars.METASTORE_HBASE_FILE_METADATA_THREADS,
-      HiveConf.ConfVars.METASTORE_WM_DEFAULT_POOL_SIZE
-      };
-
-  /**
-   * User configurable Metastore vars
-   */
-  static final HiveConf.ConfVars[] metaConfVars = {
-      HiveConf.ConfVars.METASTORE_TRY_DIRECT_SQL,
-      HiveConf.ConfVars.METASTORE_TRY_DIRECT_SQL_DDL,
-      HiveConf.ConfVars.METASTORE_CLIENT_SOCKET_TIMEOUT,
-      HiveConf.ConfVars.METASTORE_PARTITION_NAME_WHITELIST_PATTERN,
-      HiveConf.ConfVars.METASTORE_CAPABILITY_CHECK,
-      HiveConf.ConfVars.METASTORE_DISALLOW_INCOMPATIBLE_COL_TYPE_CHANGES
-  };
-
-  static {
-    for (ConfVars confVar : metaConfVars) {
-      metaConfs.put(confVar.varname, confVar);
-    }
-  }
-
   public static final String HIVE_LLAP_DAEMON_SERVICE_PRINCIPAL_NAME = 
"hive.llap.daemon.service.principal";
   public static final String 
HIVE_SERVER2_AUTHENTICATION_LDAP_USERMEMBERSHIPKEY_NAME =
       "hive.server2.authentication.ldap.userMembershipKey";
@@ -6466,10 +6358,6 @@ public static ConfVars getConfVars(String name) {
     return vars.get(name);
   }
 
-  public static ConfVars getMetaConf(String name) {
-    return metaConfs.get(name);
-  }
-
   public String getVar(ConfVars var) {
     return getVar(this, var);
   }
@@ -6665,12 +6553,6 @@ private void initialize(Class<?> cls) {
     // Overlay the values of any system properties and manual overrides
     applySystemProperties();
 
-    if ((this.get("hive.metastore.ds.retry.attempts") != null) ||
-      this.get("hive.metastore.ds.retry.interval") != null) {
-        LOG.warn("DEPRECATED: hive.metastore.ds.retry.* no longer has any 
effect.  " +
-        "Use hive.hmshandler.retry.* instead");
-    }
-
     // if the running class was loaded directly (through eclipse) rather than 
through a
     // jar then this would be needed
     if (hiveJar == null) {
diff --git 
a/ql/src/test/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/TestSQLStdHiveAccessControllerHS2.java
 
b/ql/src/test/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/TestSQLStdHiveAccessControllerHS2.java
index 1fc3663e75b..0d61eaf2573 100644
--- 
a/ql/src/test/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/TestSQLStdHiveAccessControllerHS2.java
+++ 
b/ql/src/test/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/TestSQLStdHiveAccessControllerHS2.java
@@ -27,6 +27,7 @@
 
 import org.apache.hadoop.hive.conf.HiveConf;
 import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
+import org.apache.hadoop.hive.metastore.conf.MetastoreConf;
 import org.apache.hadoop.hive.ql.security.HadoopDefaultAuthenticator;
 import 
org.apache.hadoop.hive.ql.security.authorization.plugin.DisallowTransformHook;
 import 
org.apache.hadoop.hive.ql.security.authorization.plugin.HiveAuthzPluginException;
@@ -126,8 +127,8 @@ private void verifyParamSettability(List<String> 
settableParams, HiveConf proces
     assertConfModificationException(processedConf, "dummy.param");
     // does not make sense to have any of the metastore config variables to be
     // modifiable
-    for (ConfVars metaVar : HiveConf.metaVars) {
-      assertConfModificationException(processedConf, metaVar.varname);
+    for (MetastoreConf.ConfVars metaVar : MetastoreConf.metaVars) {
+      assertConfModificationException(processedConf, metaVar.getHiveName());
     }
   }
 
diff --git a/ql/src/test/queries/clientpositive/alter_table_column_stats.q 
b/ql/src/test/queries/clientpositive/alter_table_column_stats.q
index cd699b32dc3..3440758c500 100644
--- a/ql/src/test/queries/clientpositive/alter_table_column_stats.q
+++ b/ql/src/test/queries/clientpositive/alter_table_column_stats.q
@@ -266,8 +266,8 @@ use default;
 drop database statsdb1;
 drop database statsdb2;
 
--- Test for external tables with metastore.try.direct.sql.ddl as false
-set metaconf:metastore.try.direct.sql.ddl=false;
+-- Test for external tables with metastore.try.direct.sql as false
+set metaconf:metastore.try.direct.sql=false;
 
 drop database if exists statsdb1;
 create database statsdb1;
diff --git 
a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/conf/MetastoreConf.java
 
b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/conf/MetastoreConf.java
index 85b37d67889..16ccf508a43 100644
--- 
a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/conf/MetastoreConf.java
+++ 
b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/conf/MetastoreConf.java
@@ -250,7 +250,6 @@ public String toString() {
       ConfVars.METASTORE_PARTITIONS_PARAMETERS_EXCLUDE_PATTERN,
       // Add metaConfVars here as well
       ConfVars.TRY_DIRECT_SQL,
-      ConfVars.TRY_DIRECT_SQL_DDL,
       ConfVars.CLIENT_SOCKET_TIMEOUT,
       ConfVars.PARTITION_NAME_WHITELIST_PATTERN,
       ConfVars.PARTITION_ORDER_EXPR,
@@ -264,7 +263,6 @@ public String toString() {
    */
   public static final MetastoreConf.ConfVars[] metaConfVars = {
       ConfVars.TRY_DIRECT_SQL,
-      ConfVars.TRY_DIRECT_SQL_DDL,
       ConfVars.CLIENT_SOCKET_TIMEOUT,
       ConfVars.PARTITION_NAME_WHITELIST_PATTERN,
       ConfVars.PARTITION_ORDER_EXPR,
@@ -1663,12 +1661,6 @@ public enum ConfVars {
             "work for all queries on your datastore. If all SQL queries fail 
(for example, your\n" +
             "metastore is backed by MongoDB), you might want to disable this 
to save the\n" +
             "try-and-fall-back cost."),
-    TRY_DIRECT_SQL_DDL("metastore.try.direct.sql.ddl", 
"hive.metastore.try.direct.sql.ddl", true,
-        "Same as hive.metastore.try.direct.sql, for read statements within a 
transaction that\n" +
-            "modifies metastore data. Due to non-standard behavior in 
Postgres, if a direct SQL\n" +
-            "select query has incorrect syntax or something similar inside a 
transaction, the\n" +
-            "entire transaction will fail and fall-back to DataNucleus will 
not be possible. You\n" +
-            "should disable the usage of direct SQL inside transactions if 
that happens in your case."),
     TXN_MAX_OPEN_BATCH("metastore.txn.max.open.batch", 
"hive.txn.max.open.batch", 1000,
         "Maximum number of transactions that can be fetched in one call to 
open_txns().\n" +
             "This controls how many transactions streaming agents such as 
Flume or Storm open\n" +
diff --git 
a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java
 
b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java
index f6954bf9cc6..3820c8c500e 100644
--- 
a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java
+++ 
b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java
@@ -4203,11 +4203,7 @@ public GetHelper(String catalogName, String dbName, 
String tblName,
       this.doTrace = LOG.isDebugEnabled();
       this.isInTxn = isActiveTransaction();
 
-      // SQL usage inside a larger transaction (e.g. droptable) may not be 
desirable because
-      // some databases (e.g. Postgres) abort the entire transaction when any 
query fails, so
-      // the fallback from failed SQL to JDO is not possible.
-      boolean isConfigEnabled = MetastoreConf.getBoolVar(getConf(), 
ConfVars.TRY_DIRECT_SQL)
-          && (MetastoreConf.getBoolVar(getConf(), ConfVars.TRY_DIRECT_SQL_DDL) 
|| !isInTxn);
+      boolean isConfigEnabled = MetastoreConf.getBoolVar(getConf(), 
ConfVars.TRY_DIRECT_SQL);
       if (isConfigEnabled && directSql == null) {
         directSql = new MetaStoreDirectSql(pm, getConf(), "");
       }
diff --git 
a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestGetPartitionsUsingProjectionAndFilterSpecs.java
 
b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestGetPartitionsUsingProjectionAndFilterSpecs.java
index 7a37f6032b4..f284849b73f 100644
--- 
a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestGetPartitionsUsingProjectionAndFilterSpecs.java
+++ 
b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestGetPartitionsUsingProjectionAndFilterSpecs.java
@@ -113,7 +113,6 @@ public void setup() throws TException {
     tbl = client.getTable(dbName, tblName);
     // set directSQL to true explicitly
     client.setMetaConf(ConfVars.TRY_DIRECT_SQL.getVarname(), "true");
-    client.setMetaConf(ConfVars.TRY_DIRECT_SQL_DDL.getVarname(), "true");
   }
 
   @After
diff --git 
a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestHiveMetaStoreGetMetaConf.java
 
b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestHiveMetaStoreGetMetaConf.java
index 5963cb020ab..c8b3d207cdf 100644
--- 
a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestHiveMetaStoreGetMetaConf.java
+++ 
b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestHiveMetaStoreGetMetaConf.java
@@ -60,7 +60,6 @@ public static void startMetaStoreServer() throws Exception {
     Configuration metastoreConf = MetastoreConf.newMetastoreConf();
     MetastoreConf.setClass(metastoreConf, ConfVars.EXPRESSION_PROXY_CLASS,
       MockPartitionExpressionForMetastore.class, 
PartitionExpressionProxy.class);
-    MetastoreConf.setBoolVar(metastoreConf, ConfVars.TRY_DIRECT_SQL_DDL, 
false);
     MetaStoreTestUtils.setConfForStandloneMode(metastoreConf);
     int msPort = MetaStoreServerUtils.startMetaStore(metastoreConf);
     conf = MetastoreConf.newMetastoreConf();
@@ -97,14 +96,6 @@ public void testGetMetaConfDefaultEmptyString() throws 
TException {
     assertEquals(expected, actual);
   }
 
-  @Test
-  public void testGetMetaConfOverridden() throws TException {
-    ConfVars metaConfVar = ConfVars.TRY_DIRECT_SQL_DDL;
-    String expected = "false";
-    String actual = hmsc.getMetaConf(metaConfVar.toString());
-    assertEquals(expected, actual);
-  }
-
   @Test
   public void testGetMetaConfUnknownPreperty() throws TException {
     String unknownPropertyName = "hive.meta.foo.bar";
diff --git 
a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/client/TestTablesCreateDropAlterTruncate.java
 
b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/client/TestTablesCreateDropAlterTruncate.java
index 3f7ec97b79e..bf09765634e 100644
--- 
a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/client/TestTablesCreateDropAlterTruncate.java
+++ 
b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/client/TestTablesCreateDropAlterTruncate.java
@@ -1198,7 +1198,6 @@ public void testAlterTableAlreadyExists() throws 
Exception {
   @Test
   public void testAlterTableExpectedPropertyMatch() throws Exception {
     Assume.assumeTrue(MetastoreConf.getBoolVar(metaStore.getConf(), 
ConfVars.TRY_DIRECT_SQL));
-    Assume.assumeTrue(MetastoreConf.getBoolVar(metaStore.getConf(), 
ConfVars.TRY_DIRECT_SQL_DDL));
     Table originalTable = testTables[0];
 
     EnvironmentContext context = new EnvironmentContext();
@@ -1213,7 +1212,6 @@ public void testAlterTableExpectedPropertyMatch() throws 
Exception {
   @Test(expected = MetaException.class)
   public void testAlterTableExpectedPropertyDifferent() throws Exception {
     Assume.assumeTrue(MetastoreConf.getBoolVar(metaStore.getConf(), 
ConfVars.TRY_DIRECT_SQL));
-    Assume.assumeTrue(MetastoreConf.getBoolVar(metaStore.getConf(), 
ConfVars.TRY_DIRECT_SQL_DDL));
     Table originalTable = testTables[0];
 
     EnvironmentContext context = new EnvironmentContext();
@@ -1234,7 +1232,6 @@ public void testAlterTableExpectedPropertyDifferent() 
throws Exception {
   @Test
   public void testAlterTableExpectedPropertyConcurrent() throws Exception {
     Assume.assumeTrue(MetastoreConf.getBoolVar(metaStore.getConf(), 
ConfVars.TRY_DIRECT_SQL));
-    Assume.assumeTrue(MetastoreConf.getBoolVar(metaStore.getConf(), 
ConfVars.TRY_DIRECT_SQL_DDL));
     Table originalTable = testTables[0];
 
     originalTable.getParameters().put("snapshot", "0");

Reply via email to