ClickHouse / clickhouse-java

ClickHouse Java Clients & JDBC Driver
https://clickhouse.com
Apache License 2.0
1.45k stars 535 forks source link

[repo] Dependencies #1927

Open chernser opened 4 days ago

chernser commented 4 days ago

Description

There are multiple dependencies that are packed into jdbc-shaded but seems not all are really copied:

[WARNING]
java.lang.NoClassDefFoundError: com/clickhouse/client/internal/apache/commons/compress/compressors/lz4/FramedLZ4CompressorInputStream
    at com.clickhouse.client.api.internal.HttpAPIClientHelper.wrapEntity (HttpAPIClientHelper.java:536)
    at com.clickhouse.client.api.internal.HttpAPIClientHelper.executeRequest (HttpAPIClientHelper.java:354)
    at com.clickhouse.client.api.Client.lambda$query$11 (Client.java:1568)
    at com.clickhouse.client.api.Client.runAsyncOperation (Client.java:1942)
    at com.clickhouse.client.api.Client.query (Client.java:1644)
    at com.clickhouse.client.api.Client.query (Client.java:1494)
    at com.clickhouse.jdbc.StatementImpl.executeQuery (StatementImpl.java:108)
    at com.clickhouse.examples.jdbc.Basic.connectWithCustomSettings (Basic.java:151)
    at com.clickhouse.examples.jdbc.Basic.main (Basic.java:247)
    at org.codehaus.mojo.exec.ExecJavaMojo.doMain (ExecJavaMojo.java:375)
    at org.codehaus.mojo.exec.ExecJavaMojo.doExec (ExecJavaMojo.java:364)
    at org.codehaus.mojo.exec.ExecJavaMojo.lambda$execute$0 (ExecJavaMojo.java:286)
    at java.lang.Thread.run (Thread.java:1583)
Caused by: java.lang.ClassNotFoundException: com.clickhouse.client.internal.apache.commons.compress.compressors.lz4.FramedLZ4CompressorInputStream
    at org.codehaus.mojo.exec.URLClassLoaderBuilder$ExecJavaClassLoader.loadClass (URLClassLoaderBuilder.java:198)
    at java.lang.ClassLoader.loadClass (ClassLoader.java:526)
    at com.clickhouse.client.api.internal.HttpAPIClientHelper.wrapEntity (HttpAPIClientHelper.java:536)
    at com.clickhouse.client.api.internal.HttpAPIClientHelper.executeRequest (HttpAPIClientHelper.java:354)
    at com.clickhouse.client.api.Client.lambda$query$11 (Client.java:1568)
    at com.clickhouse.client.api.Client.runAsyncOperation (Client.java:1942)
    at com.clickhouse.client.api.Client.query (Client.java:1644)
    at com.clickhouse.client.api.Client.query (Client.java:1494)
    at com.clickhouse.jdbc.StatementImpl.executeQuery (StatementImpl.java:108)
    at com.clickhouse.examples.jdbc.Basic.connectWithCustomSettings (Basic.java:151)
    at com.clickhouse.examples.jdbc.Basic.main (Basic.java:247)
    at org.codehaus.mojo.exec.ExecJavaMojo.doMain (ExecJavaMojo.java:375)
    at org.codehaus.mojo.exec.ExecJavaMojo.doExec (ExecJavaMojo.java:364)
    at org.codehaus.mojo.exec.ExecJavaMojo.lambda$execute$0 (ExecJavaMojo.java:286)
    at java.lang.Thread.run (Thread.java:1583)
[WARNING] thread Thread[#34,HikariPool-1 network timeout executor,5,com.clickhouse.examples.jdbc.Basic] was interrupted but is still alive after waiting at least 15000msecs

There is an issues with current dependencies and they need next exercises:

  1. review dependencies and get list of required.
  2. isolate dependencies as much as possible.
  3. There are should be an option to select simple dependency or with shaded libraries