-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Issue Type
- Bug Report
- Feature Request
- Question
Summary
Request for Flink 2.1.0 support and clarification on version compatibility
Description
We are experiencing state deserialization failures when attempting to use flink-connector-clickhouse-2.0.0:0.1.1 with Flink runtime 2.1.0.
According to the compatibility matrix, the connector currently supports up to Flink 2.0.x, but there's no mention of Flink 2.1.0 support.
Environment
Flink Configuration:
- Runtime Version:
2.1.0 - Connector Artifact:
flink-connector-clickhouse-2.0.0:0.1.1:all - Java Version: 21
- Deployment: Kubernetes with Flink Operator v2_1
Gradle Dependencies:
var flinkVersion = "2.1.0"
flinkShadowJar("com.clickhouse.flink:flink-connector-clickhouse-2.0.0:0.1.1:all")Infrastructure:
- Kubernetes with Flink Operator
- RocksDB State Backend (30Gi ephemeral volumes)
- S3 checkpoint storage
- Checkpoint interval: 60s
- Parallelism: 10 (autoscaler up to 120)
Error Details
When the job attempts to restore from a checkpoint, it fails with:
org.apache.flink.util.FlinkRuntimeException: Failed to deserialize value
at org.apache.flink.streaming.api.operators.util.SimpleVersionedListState$DeserializingIterator.next(SimpleVersionedListState.java:140)
...
Caused by: java.io.IOException: Unsupported version: 728
at org.apache.flink.connector.clickhouse.sink.ClickHouseAsyncSinkSerializer.deserializeRequestFromStream(ClickHouseAsyncSinkSerializer.java:41)
at org.apache.flink.connector.base.sink.writer.AsyncSinkWriterStateSerializer.deserialize(AsyncSinkWriterStateSerializer.java:81)
Root Cause Analysis
The error appears to be a serialization format incompatibility between Flink 2.0 and 2.1. The connector was built for Flink 2.0.x and doesn't support the state serialization changes in Flink 2.1.
Questions
-
Is Flink 2.1.0 support planned?
- If yes, what is the expected timeline/milestone?
- Should we expect it in the next minor release (e.g., 0.1.2)?
-
Is there a snapshot/beta version available that we could test with Flink 2.1?
Use Case Context
We're building a high-throughput streaming pipeline:
- Volume: ~700TB/month of log data
- Source: 70+ Kafka topics from multiple microservice clusters
- Transformation: JSON logs → OpenTelemetry format
- Sink: ClickHouse for real-time analytics
- Requirements: High availability, exactly-once semantics (if possible)
Request
Could you please provide:
- ✅ Confirmation of current Flink 2.1 support status
- ✅ Roadmap/timeline for Flink 2.1 support
- ✅ Recommended stable Flink version for production
- ✅ Any beta/snapshot versions available for testing
- ✅ Best practices for our high-volume use case
Additional Context
- This is a new project (no production checkpoints to preserve)
- We can test beta/snapshot versions in our QA environment
- We're willing to contribute feedback/testing for Flink 2.1 support
Related
- Flink 2.1.0 Release: https://flink.apache.org/news/2024/11/18/apache-flink-2.1.0-release-announcement/
- Our connector dependency: https://github.com/ClickHouse/flink-connector-clickhouse/blob/main/README.md#supported-flink-versions
Thank you for this excellent connector! Looking forward to your guidance. 🙏