clickhouse-sink-connector icon indicating copy to clipboard operation
clickhouse-sink-connector copied to clipboard

Byte array exception

Open subkanthi opened this issue 2 years ago • 1 comments

2023-02-15 13:30:31,453 ERROR  ||  ******* ERROR inserting Batch *****************   [com.altinity.clickhouse.sink.connector.db.DbWriter]
java.lang.IllegalArgumentException: length of byte array value is 0, but it should be 2
	at com.clickhouse.client.ClickHouseChecker.newException(ClickHouseChecker.java:19)
	at com.clickhouse.client.ClickHouseChecker.notWithDifferentLength(ClickHouseChecker.java:382)
	at com.clickhouse.client.ClickHouseChecker.notWithDifferentLength(ClickHouseChecker.java:364)
	at com.clickhouse.client.data.ClickHouseStringValue.asBinary(ClickHouseStringValue.java:230)
	at com.clickhouse.client.ClickHouseValue.asBinary(ClickHouseValue.java:569)
	at com.clickhouse.client.data.ClickHouseRowBinaryProcessor$MappedFunctions.lambda$buildMappingsForDataTypes$63(ClickHouseRowBinaryProcessor.java:334)
	at com.clickhouse.client.data.ClickHouseRowBinaryProcessor$MappedFunctions.serialize(ClickHouseRowBinaryProcessor.java:486)
	at com.clickhouse.jdbc.internal.InputBasedPreparedStatement.addBatch(InputBasedPreparedStatement.java:333)
	at com.altinity.clickhouse.sink.connector.db.DbWriter.addToPreparedStatementBatch(DbWriter.java:432)
	at com.altinity.clickhouse.sink.connector.executor.ClickHouseBatchRunnable.flushRecordsToClickHouse(ClickHouseBatchRunnable.java:228)
	at com.altinity.clickhouse.sink.connector.executor.ClickHouseBatchRunnable.processRecordsByTopic(ClickHouseBatchRunnable.java:189)
	at com.altinity.clickhouse.sink.connector.executor.ClickHouseBatchRunnable.run(ClickHouseBatchRunnable.java:105)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:829)

subkanthi avatar Feb 15 '23 13:02 subkanthi

  1. you maybe use clickhouse-jdbc cllient version equal or less than 0.3.2-patch11
  2. show create table [your table name], some maybe use FixedString(2)
  3. update your clickhouse client version, like com.clickhouse:clickhouse-jdbc:0.4.0

penghcn avatar Apr 20 '23 02:04 penghcn