itinycheng / flink-connector-clickhouse

Flink SQL connector for ClickHouse. Support ClickHouseCatalog and read/write primary data, maps, arrays to clickhouse.
Apache License 2.0
375 stars 156 forks source link

当使用fiexdstring时数据写入失败 #49

Closed repidlei closed 2 years ago

repidlei commented 2 years ago

当向一个fixedstring类型的ck字段写入超出长度的字符串时,任务显示success状态,没有任何异常,但是ck表中没有任何数据,整批数据都不存在。 请问这是合理的吗?

image

官网说会抛出 Too large value for FixedString(N) exception 才对。

itinycheng commented 2 years ago

当向一个fixedstring类型的ck字段写入超出长度的字符串时,任务显示success状态,没有任何异常,但是ck表中没有任何数据,整批数据都不存在。 请问这是合理的吗? image 官网说会抛出 Too large value for FixedString(N) exception 才对。

不合理,这个您在仔细找下原因,看下flink & clickhouse server端是否有报错;

正常过程是:

  1. connector向clickhouse写一个长字符串,clickhouse server应该要报错;
  2. 这个报错会被返回到clickhouse-jdbc client端;
  3. clickhouse-jdbc会把这个错误往上抛给connector;
  4. connector收到异常信息抛给Flink;
  5. Flink 按照重启策略重启job;
repidlei commented 2 years ago

嗯嗯,问题原因找到了,因为写入的操作是一个定时调度的任务,然后exception被吞掉了,变成了warn