Skip to content

[Feature Request] Flink 2.1.0 support - Getting "Unsupported version: 728" error #63

@rafael-gumiero

Description

@rafael-gumiero

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

  1. 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)?
  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


Thank you for this excellent connector! Looking forward to your guidance. 🙏

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions