[ 
https://issues.apache.org/jira/browse/HIVE-26180?focusedWorklogId=763001&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-763001
 ]

ASF GitHub Bot logged work on HIVE-26180:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 27/Apr/22 15:50
            Start Date: 27/Apr/22 15:50
    Worklog Time Spent: 10m 
      Work Description: zhangbutao commented on code in PR #3250:
URL: https://github.com/apache/hive/pull/3250#discussion_r859964669


##########
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/dataconnector/jdbc/MySQLConnectorProvider.java:
##########
@@ -31,7 +31,7 @@
 public class MySQLConnectorProvider extends AbstractJDBCConnectorProvider {
   private static Logger LOG = 
LoggerFactory.getLogger(MySQLConnectorProvider.class);
 
-  private static final String DRIVER_CLASS = "org.mariadb.jdbc.Driver";
+  private static final String DRIVER_CLASS = "com.mysql.jdbc.Driver";

Review Comment:
   Sure. We plan to build a centralized metadata management based on 
metastore4.0 and other engines like spark and presto can get metadata from it. 
With the help of data connector we can easily map different metadata (primarily 
mysql) to the centralized metastore, and we can do some authorization to data 
connector metadata based on metastore-ranger feature. 
   
    In the future, we hope to quickly get all kinds of metadata based on data 
connector, eg. hbase or another hive. 
   
   I've been watching HIVE-24396.  Thank you for developing this feature!





Issue Time Tracking
-------------------

    Worklog Id:     (was: 763001)
    Time Spent: 1h  (was: 50m)

> Change MySQLConnectorProvider driver from mariadb to mysql
> ----------------------------------------------------------
>
>                 Key: HIVE-26180
>                 URL: https://issues.apache.org/jira/browse/HIVE-26180
>             Project: Hive
>          Issue Type: Bug
>          Components: StorageHandler
>    Affects Versions: 4.0.0-alpha-1, 4.0.0-alpha-2
>            Reporter: zhangbutao
>            Assignee: zhangbutao
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 4.0.0-alpha-2
>
>          Time Spent: 1h
>  Remaining Estimate: 0h
>
> I test with example  {_}dataconnector_mysql.q{_}. When I execute  _show 
> tables_ from remote database, it failed with WARN log:
>  
> {code:java}
> 2022-04-27T16:52:34,696  WARN [Metastore-Handler-Pool: Thread-48] 
> jdbc.AbstractJDBCConnectorProvider: Driver class not found in 
> classpath:org.mariadb.jdbc.Driver
> 2022-04-27T16:52:34,698  WARN [Metastore-Handler-Pool: Thread-48] 
> metastore.HMSHandler: Unexpected exception while getting table(s) in remote 
> database db_mysql
> org.apache.hadoop.hive.metastore.api.MetaException: Could not instantiate a 
> provider for database db_mysql{code}
>  
> And so I add _mariadb-java-client-2.5.0.jar_ to hive lib, It is ok to show 
> tables from remote database, but this leads to failure on native database:
> {code:java}
> 2022-04-27T17:01:38,763 ERROR [Metastore-Handler-Pool: Thread-43] 
> Datastore.Schema: An exception was thrown while adding/validating class(es) : 
> Table "columns_v2" has been specified with a primary-key to include column 
> "CD_ID" but this column is not found in the table. Please check your 
> <primary-key> column specification.
> Table "columns_v2" has been specified with a primary-key to include column 
> "CD_ID" but this column is not found in the table. Please check your 
> <primary-key> column specification.
> org.datanucleus.exceptions.NucleusUserException: Table "columns_v2" has been 
> specified with a primary-key to include column "CD_ID" but this column is not 
> found in the table. Please check your <primary-key> column specification.
>         at 
> org.datanucleus.store.rdbms.table.ElementContainerTable.applyUserPrimaryKeySpecification(ElementContainerTable.java:225)
>         at 
> org.datanucleus.store.rdbms.table.CollectionTable.initialize(CollectionTable.java:235)
>         at 
> org.datanucleus.store.rdbms.RDBMSStoreManager$ClassAdder.initializeClassTables(RDBMSStoreManager.java:3318)
>         at 
> org.datanucleus.store.rdbms.RDBMSStoreManager$ClassAdder.run(RDBMSStoreManager.java:2938)
>         at 
> org.datanucleus.store.rdbms.AbstractSchemaTransaction.execute(AbstractSchemaTransaction.java:118)
>  {code}
>  
> If I change MySQLConnectorProvider driver from mariadb to mysql,  It's good 
> to both remote mysql database and native database.
>  



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to