[ 
https://issues.apache.org/jira/browse/FLINK-29218?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

dalongliu closed FLINK-29218.
-----------------------------
    Resolution: Won't Fix

> ADD JAR syntax could not work with Hive catalog in SQL client
> -------------------------------------------------------------
>
>                 Key: FLINK-29218
>                 URL: https://issues.apache.org/jira/browse/FLINK-29218
>             Project: Flink
>          Issue Type: Bug
>          Components: Connectors / Hive, Table SQL / API
>    Affects Versions: 1.16.0
>            Reporter: Qingsheng Ren
>            Assignee: dalongliu
>            Priority: Major
>
> ADD JAR syntax is not working for adding Hive / Hadoop dependencies into SQL 
> client. 
> To reproduce the problem:
>  # Place Hive connector and Hadoop JAR outside {{{}lib{}}}, and add them into 
> the session using {{ADD JAR}} syntax.
>  # Create a Hive catalog using {{CREATE CATALOG}}
> Exception thrown by SQL client: 
> {code:java}
> 2022-09-07 15:23:15,737 WARN  org.apache.flink.table.client.cli.CliClient     
>              [] - Could not execute SQL statement.
> org.apache.flink.table.client.gateway.SqlExecutionException: Could not 
> execute SQL statement.
>     at 
> org.apache.flink.table.client.gateway.local.LocalExecutor.executeOperation(LocalExecutor.java:208)
>  ~[flink-sql-client-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at 
> org.apache.flink.table.client.cli.CliClient.executeOperation(CliClient.java:634)
>  ~[flink-sql-client-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at 
> org.apache.flink.table.client.cli.CliClient.callOperation(CliClient.java:468) 
> [flink-sql-client-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at 
> org.apache.flink.table.client.cli.CliClient.executeOperation(CliClient.java:371)
>  [flink-sql-client-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at 
> org.apache.flink.table.client.cli.CliClient.getAndExecuteStatements(CliClient.java:328)
>  [flink-sql-client-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at 
> org.apache.flink.table.client.cli.CliClient.executeInteractive(CliClient.java:279)
>  [flink-sql-client-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at 
> org.apache.flink.table.client.cli.CliClient.executeInInteractiveMode(CliClient.java:227)
>  [flink-sql-client-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at org.apache.flink.table.client.SqlClient.openCli(SqlClient.java:151) 
> [flink-sql-client-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at org.apache.flink.table.client.SqlClient.start(SqlClient.java:95) 
> [flink-sql-client-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at 
> org.apache.flink.table.client.SqlClient.startClient(SqlClient.java:187) 
> [flink-sql-client-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at org.apache.flink.table.client.SqlClient.main(SqlClient.java:161) 
> [flink-sql-client-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
> Caused by: org.apache.flink.table.api.ValidationException: Unable to create 
> catalog 'myhive'.Catalog options are:
> 'hive-conf-dir'='file:///Users/renqs/Workspaces/flink/flink-master/build-target/opt/hive-conf'
> 'type'='hive'
>     at 
> org.apache.flink.table.factories.FactoryUtil.createCatalog(FactoryUtil.java:438)
>  ~[flink-table-api-java-uber-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at 
> org.apache.flink.table.api.internal.TableEnvironmentImpl.createCatalog(TableEnvironmentImpl.java:1423)
>  ~[flink-table-api-java-uber-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at 
> org.apache.flink.table.api.internal.TableEnvironmentImpl.executeInternal(TableEnvironmentImpl.java:1165)
>  ~[flink-table-api-java-uber-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at 
> org.apache.flink.table.client.gateway.local.LocalExecutor.executeOperation(LocalExecutor.java:206)
>  ~[flink-sql-client-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     ... 10 more
> Caused by: org.apache.flink.table.catalog.exceptions.CatalogException: Failed 
> to load hive-site.xml from specified 
> path:file:/Users/renqs/Workspaces/flink/flink-master/build-target/opt/hive-conf/hive-site.xml
>     at 
> org.apache.flink.table.catalog.hive.HiveCatalog.createHiveConf(HiveCatalog.java:273)
>  ~[?:?]
>     at 
> org.apache.flink.table.catalog.hive.HiveCatalog.<init>(HiveCatalog.java:184) 
> ~[?:?]
>     at 
> org.apache.flink.table.catalog.hive.factories.HiveCatalogFactory.createCatalog(HiveCatalogFactory.java:76)
>  ~[?:?]
>     at 
> org.apache.flink.table.factories.FactoryUtil.createCatalog(FactoryUtil.java:435)
>  ~[flink-table-api-java-uber-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at 
> org.apache.flink.table.api.internal.TableEnvironmentImpl.createCatalog(TableEnvironmentImpl.java:1423)
>  ~[flink-table-api-java-uber-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at 
> org.apache.flink.table.api.internal.TableEnvironmentImpl.executeInternal(TableEnvironmentImpl.java:1165)
>  ~[flink-table-api-java-uber-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at 
> org.apache.flink.table.client.gateway.local.LocalExecutor.executeOperation(LocalExecutor.java:206)
>  ~[flink-sql-client-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     ... 10 more
> Caused by: java.io.IOException: No FileSystem for scheme: file
>     at 
> org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2799) 
> ~[?:?]
>     at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2810) 
> ~[?:?]
>     at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:100) ~[?:?]
>     at 
> org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2849) ~[?:?]
>     at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2831) ~[?:?]
>     at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:389) ~[?:?]
>     at org.apache.hadoop.fs.Path.getFileSystem(Path.java:356) ~[?:?]
>     at 
> org.apache.flink.table.catalog.hive.HiveCatalog.createHiveConf(HiveCatalog.java:268)
>  ~[?:?]
>     at 
> org.apache.flink.table.catalog.hive.HiveCatalog.<init>(HiveCatalog.java:184) 
> ~[?:?]
>     at 
> org.apache.flink.table.catalog.hive.factories.HiveCatalogFactory.createCatalog(HiveCatalogFactory.java:76)
>  ~[?:?]
>     at 
> org.apache.flink.table.factories.FactoryUtil.createCatalog(FactoryUtil.java:435)
>  ~[flink-table-api-java-uber-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at 
> org.apache.flink.table.api.internal.TableEnvironmentImpl.createCatalog(TableEnvironmentImpl.java:1423)
>  ~[flink-table-api-java-uber-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at 
> org.apache.flink.table.api.internal.TableEnvironmentImpl.executeInternal(TableEnvironmentImpl.java:1165)
>  ~[flink-table-api-java-uber-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at 
> org.apache.flink.table.client.gateway.local.LocalExecutor.executeOperation(LocalExecutor.java:206)
>  ~[flink-sql-client-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     ... 10 more
>  {code}
>  
> Another test:
>  # Put Hadoop JAR inside {{{}lib{}}}, and Hive connector outside, then add 
> Hive connector JAR into the session with {{ADD JAR}} syntax
>  # Create a Hive catalog using {{CREATE CATALOG}}
> Exception thrown by SQL client:
> {code:java}
> 2022-09-07 15:29:57,362 WARN  org.apache.flink.table.client.cli.CliClient     
>              [] - Could not execute SQL statement.
> org.apache.flink.table.client.gateway.SqlExecutionException: Could not 
> execute SQL statement.
>     at 
> org.apache.flink.table.client.gateway.local.LocalExecutor.executeOperation(LocalExecutor.java:208)
>  ~[flink-sql-client-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at 
> org.apache.flink.table.client.cli.CliClient.executeOperation(CliClient.java:634)
>  ~[flink-sql-client-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at 
> org.apache.flink.table.client.cli.CliClient.callOperation(CliClient.java:468) 
> [flink-sql-client-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at 
> org.apache.flink.table.client.cli.CliClient.executeOperation(CliClient.java:371)
>  [flink-sql-client-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at 
> org.apache.flink.table.client.cli.CliClient.getAndExecuteStatements(CliClient.java:328)
>  [flink-sql-client-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at 
> org.apache.flink.table.client.cli.CliClient.executeInteractive(CliClient.java:279)
>  [flink-sql-client-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at 
> org.apache.flink.table.client.cli.CliClient.executeInInteractiveMode(CliClient.java:227)
>  [flink-sql-client-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at org.apache.flink.table.client.SqlClient.openCli(SqlClient.java:151) 
> [flink-sql-client-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at org.apache.flink.table.client.SqlClient.start(SqlClient.java:95) 
> [flink-sql-client-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at 
> org.apache.flink.table.client.SqlClient.startClient(SqlClient.java:187) 
> [flink-sql-client-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at org.apache.flink.table.client.SqlClient.main(SqlClient.java:161) 
> [flink-sql-client-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
> Caused by: org.apache.flink.table.api.ValidationException: Could not execute 
> CREATE CATALOG: (catalogName: [myhive], properties: 
> [{hive-conf-dir=file:///Users/renqs/Workspaces/flink/flink-master/build-target/opt/hive-conf,
>  type=hive}])
>     at 
> org.apache.flink.table.api.internal.TableEnvironmentImpl.createCatalog(TableEnvironmentImpl.java:1432)
>  ~[flink-table-api-java-uber-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at 
> org.apache.flink.table.api.internal.TableEnvironmentImpl.executeInternal(TableEnvironmentImpl.java:1165)
>  ~[flink-table-api-java-uber-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at 
> org.apache.flink.table.client.gateway.local.LocalExecutor.executeOperation(LocalExecutor.java:206)
>  ~[flink-sql-client-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     ... 10 more
> Caused by: org.apache.flink.table.catalog.exceptions.CatalogException: Failed 
> to create Hive Metastore client
>     at 
> org.apache.flink.table.catalog.hive.client.HiveShimV230.getHiveMetastoreClient(HiveShimV230.java:74)
>  ~[?:?]
>     at 
> org.apache.flink.table.catalog.hive.client.HiveMetastoreClientWrapper.createMetastoreClient(HiveMetastoreClientWrapper.java:283)
>  ~[?:?]
>     at 
> org.apache.flink.table.catalog.hive.client.HiveMetastoreClientWrapper.<init>(HiveMetastoreClientWrapper.java:84)
>  ~[?:?]
>     at 
> org.apache.flink.table.catalog.hive.client.HiveMetastoreClientWrapper.<init>(HiveMetastoreClientWrapper.java:74)
>  ~[?:?]
>     at 
> org.apache.flink.table.catalog.hive.client.HiveMetastoreClientFactory.create(HiveMetastoreClientFactory.java:32)
>  ~[?:?]
>     at 
> org.apache.flink.table.catalog.hive.HiveCatalog.open(HiveCatalog.java:300) 
> ~[?:?]
>     at 
> org.apache.flink.table.catalog.CatalogManager.registerCatalog(CatalogManager.java:211)
>  ~[flink-table-api-java-uber-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at 
> org.apache.flink.table.api.internal.TableEnvironmentImpl.createCatalog(TableEnvironmentImpl.java:1428)
>  ~[flink-table-api-java-uber-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at 
> org.apache.flink.table.api.internal.TableEnvironmentImpl.executeInternal(TableEnvironmentImpl.java:1165)
>  ~[flink-table-api-java-uber-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at 
> org.apache.flink.table.client.gateway.local.LocalExecutor.executeOperation(LocalExecutor.java:206)
>  ~[flink-sql-client-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     ... 10 more
> Caused by: java.lang.reflect.InvocationTargetException
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
> ~[?:1.8.0_292]
>     at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
> ~[?:1.8.0_292]
>     at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  ~[?:1.8.0_292]
>     at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_292]
>     at 
> org.apache.flink.table.catalog.hive.client.HiveShimV230.getHiveMetastoreClient(HiveShimV230.java:72)
>  ~[?:?]
>     at 
> org.apache.flink.table.catalog.hive.client.HiveMetastoreClientWrapper.createMetastoreClient(HiveMetastoreClientWrapper.java:283)
>  ~[?:?]
>     at 
> org.apache.flink.table.catalog.hive.client.HiveMetastoreClientWrapper.<init>(HiveMetastoreClientWrapper.java:84)
>  ~[?:?]
>     at 
> org.apache.flink.table.catalog.hive.client.HiveMetastoreClientWrapper.<init>(HiveMetastoreClientWrapper.java:74)
>  ~[?:?]
>     at 
> org.apache.flink.table.catalog.hive.client.HiveMetastoreClientFactory.create(HiveMetastoreClientFactory.java:32)
>  ~[?:?]
>     at 
> org.apache.flink.table.catalog.hive.HiveCatalog.open(HiveCatalog.java:300) 
> ~[?:?]
>     at 
> org.apache.flink.table.catalog.CatalogManager.registerCatalog(CatalogManager.java:211)
>  ~[flink-table-api-java-uber-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at 
> org.apache.flink.table.api.internal.TableEnvironmentImpl.createCatalog(TableEnvironmentImpl.java:1428)
>  ~[flink-table-api-java-uber-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at 
> org.apache.flink.table.api.internal.TableEnvironmentImpl.executeInternal(TableEnvironmentImpl.java:1165)
>  ~[flink-table-api-java-uber-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at 
> org.apache.flink.table.client.gateway.local.LocalExecutor.executeOperation(LocalExecutor.java:206)
>  ~[flink-sql-client-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     ... 10 more
> Caused by: org.apache.hadoop.hive.metastore.api.MetaException: 
> org.apache.hadoop.hive.metastore.HiveMetaStoreClient class not found
>     at 
> org.apache.hadoop.hive.metastore.MetaStoreUtils.getClass(MetaStoreUtils.java:1710)
>  ~[?:?]
>     at 
> org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:131)
>  ~[?:?]
>     at 
> org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:89)
>  ~[?:?]
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
> ~[?:1.8.0_292]
>     at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
> ~[?:1.8.0_292]
>     at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  ~[?:1.8.0_292]
>     at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_292]
>     at 
> org.apache.flink.table.catalog.hive.client.HiveShimV230.getHiveMetastoreClient(HiveShimV230.java:72)
>  ~[?:?]
>     at 
> org.apache.flink.table.catalog.hive.client.HiveMetastoreClientWrapper.createMetastoreClient(HiveMetastoreClientWrapper.java:283)
>  ~[?:?]
>     at 
> org.apache.flink.table.catalog.hive.client.HiveMetastoreClientWrapper.<init>(HiveMetastoreClientWrapper.java:84)
>  ~[?:?]
>     at 
> org.apache.flink.table.catalog.hive.client.HiveMetastoreClientWrapper.<init>(HiveMetastoreClientWrapper.java:74)
>  ~[?:?]
>     at 
> org.apache.flink.table.catalog.hive.client.HiveMetastoreClientFactory.create(HiveMetastoreClientFactory.java:32)
>  ~[?:?]
>     at 
> org.apache.flink.table.catalog.hive.HiveCatalog.open(HiveCatalog.java:300) 
> ~[?:?]
>     at 
> org.apache.flink.table.catalog.CatalogManager.registerCatalog(CatalogManager.java:211)
>  ~[flink-table-api-java-uber-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at 
> org.apache.flink.table.api.internal.TableEnvironmentImpl.createCatalog(TableEnvironmentImpl.java:1428)
>  ~[flink-table-api-java-uber-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at 
> org.apache.flink.table.api.internal.TableEnvironmentImpl.executeInternal(TableEnvironmentImpl.java:1165)
>  ~[flink-table-api-java-uber-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     at 
> org.apache.flink.table.client.gateway.local.LocalExecutor.executeOperation(LocalExecutor.java:206)
>  ~[flink-sql-client-1.16-SNAPSHOT.jar:1.16-SNAPSHOT]
>     ... 10 more {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to