[
https://issues.apache.org/jira/browse/FLINK-30035?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17639718#comment-17639718
]
Steven Zhen Wu commented on FLINK-30035:
----------------------------------------
[~fsk119] here are the steps to reproduce.
* download the [iceberg-flink-runtime
jar|https://repository.apache.org/content/repositories/orgapacheiceberg-1114/org/apache/iceberg/iceberg-flink-runtime-1.16/1.1.0/iceberg-flink-runtime-1.16-1.1.0.jar]
without putting it into Flink`lib` dir
* start sql-client: ` ./bin/sql-client.sh embedded --jar
/path/to/iceberg-flink-runtime-1.16-1.1.0.jar`
* run SQL cmd
```
CREATE CATALOG hadoop_catalog WITH (
'type'='iceberg',
'catalog-type'='hadoop',
'warehouse'='file:/Users/stevenwu/runtime/hdfs',
'property-version'='1'
);
```
Then we shall see exception
```
[ERROR] Could not execute SQL statement. Reason:
java.lang.NoSuchMethodException: Cannot find constructor for interface
org.apache.iceberg.catalog.Catalog
Missing org.apache.iceberg.hadoop.HadoopCatalog
[java.lang.ClassNotFoundException: org.apache.iceberg.hadoop.HadoopCatalog]
```
Now if we put the jar inside Flink `lib/` dir. the external jar was loaded
fine. The same SQL cmd will execute fine.
```
cp /path/to/iceberg-flink-runtime-1.16-1.1.0.jar lib/
./bin/sql-client.sh embedded
```
> ./bin/sql-client.sh won't import external jar into the session
> --------------------------------------------------------------
>
> Key: FLINK-30035
> URL: https://issues.apache.org/jira/browse/FLINK-30035
> Project: Flink
> Issue Type: Bug
> Components: Table SQL / Client
> Affects Versions: 1.16.0
> Reporter: Steven Zhen Wu
> Priority: Major
>
> I used to be able to run the sql-client with iceberg-flink-runtime jar using
> the `-j,--jar <JAR file>` option (e.g. with 1.15.2).
> {code}
> ./bin/sql-client.sh embedded --jar iceberg-flink-runtime-1.16-1.1.0.jar
> {code}
> With 1.16.0, this doesn't work anymore. As a result, I am seeing
> ClassNotFoundException.
> {code}
> java.lang.ClassNotFoundException: org.apache.iceberg.hadoop.HadoopCatalog
> {code}
> I have to put the iceberg-flink-runtime-1.16-1.1.0.jar file inside the
> `flink/lib` directory to make the jar loaded. This seems like a regression of
> 1.16.0.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)