- Notifications
You must be signed in to change notification settings - Fork 614
Closed
Description
Describe the bug
I get a NullPointerException when trying to com.clickhouse.client.api.Client#queryAll(java.lang.String, java.util.Map<java.lang.String,java.lang.Object>) a INSERT INTO FUNCTION s3(...) SELECT * FROM ... query:
com.clickhouse.client.api.Client.queryAll Client.java: 1767 com.clickhouse.client.api.Client.queryAll Client.java: 1749 com.clickhouse.client.api.data_formats.internal.AbstractBinaryFormatReader.readRecord AbstractBinaryFormatReader.java: 131 java.lang.NullPointerException: com.clickhouse.client.api.ClientException: Failed to get query response Steps to reproduce
I create the client as:
(.build (doto (Client$Builder.) (.addEndpoint endpoint) (.setUsername username) (.setPassword password) (.compressClientRequest true) (.compressServerResponse true) (.useHttpCompression true) (.setConnectTimeout (-> (t/minutes 1) (t/as :millis))) (.setConnectionRequestTimeout (-> (t/minutes 2) (t/as :millis)) ChronoUnit/MILLIS) (.setSocketTimeout (-> (t/minutes 5) (t/as :millis)))))Then I invoke:
(.queryAll client query raw-params)where raw-params is a java.util.Map from java.lang.String to java.lang.String, and query is:
INSERT INTO FUNCTION s3({s3_url:String}, {aws_access_key_id:String}, {aws_secret_access_key:String}, {aws_session_token:String}, {data_format:String}) SELECT * FROM `mydatabase`.`mytable` SETTINGS output_format_parquet_string_as_string=1, s3_truncate_on_insert=1where data_format is "Parquet".
Expected behaviour
queryAll succeeds, possibly with an empty result.
(I would have used com.clickhouse.client.api.Client#execute(java.lang.String) as an alternative, but there is no variant of it that takes query parameters.)
Configuration
Environment
- Client version: 0.8.0
- Language version: Java 11, Clojure 1.12
- OS: Linux 6.12
ClickHouse server
- ClickHouse Server version: Cloud
- ClickHouse Server non-default settings, if any: N/A
See-also: #1788