[ https://issues.apache.org/jira/browse/HIVE-26767?focusedWorklogId=830645&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-830645 ]
ASF GitHub Bot logged work on HIVE-26767: ----------------------------------------- Author: ASF GitHub Bot Created on: 02/Dec/22 13:48 Start Date: 02/Dec/22 13:48 Worklog Time Spent: 10m Work Description: tthorpeIBM commented on PR #3799: URL: https://github.com/apache/hive/pull/3799#issuecomment-1335256121 @saihemanth-cloudera Thank you! Issue Time Tracking ------------------- Worklog Id: (was: 830645) Time Spent: 2h 20m (was: 2h 10m) > Support for custom RDBMS is broken > ---------------------------------- > > Key: HIVE-26767 > URL: https://issues.apache.org/jira/browse/HIVE-26767 > Project: Hive > Issue Type: Bug > Components: Metastore > Affects Versions: 4.0.0 > Reporter: Tim Thorpe > Assignee: Tim Thorpe > Priority: Minor > Labels: pull-request-available > Fix For: 4.0.0 > > Time Spent: 2h 20m > Remaining Estimate: 0h > > HIVE-24120 introduced code to support custom RDBMS. > DatabaseProduct.getDbType(String productName) will return *DbType.UNDEFINED* > for anything other than the hardcoded/internally supported database types. > When initializing DatabaseProduct with an external/custom RDBMS, it follows > this logic: > > boolean isExternal = MetastoreConf.getBoolVar(conf, > ConfVars.USE_CUSTOM_RDBMS); > if (isExternal) { > // The DatabaseProduct will be created by instantiating an external > class via > // reflection. The external class can override any method in the > current class > String className = MetastoreConf.getVar(conf, > ConfVars.CUSTOM_RDBMS_CLASSNAME); > if (className != null) { > try { > theDatabaseProduct = (DatabaseProduct) > ReflectionUtils.newInstance(Class.forName(className), conf); > LOG.info(String.format("Using custom RDBMS %s", className)); > dbt = DbType.CUSTOM; > These 2 database types (DbType.UNDEFINED, DbType.CUSTOM) are then compared to > each other to make sure they are the same. > > Preconditions.checkState(theDatabaseProduct.dbType == getDbType(productName)); > > [https://github.com/gatorblue/hive/blob/3a65c6cf9cb552e7c34bfb449a419abfde0a58b6/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/DatabaseProduct.java#L80] > -- This message was sent by Atlassian Jira (v8.20.10#820010)