Hi all, I would like to start a discussion around moving the current Cassandra Sink in Flink <https://github.com/apache/flink-connector-cassandra/tree/main/flink-connector-cassandra/src/main/java/org/apache/flink/streaming/connectors/cassandra> to Sink V2. It is built on the deprecated RichSinkFunction API <https://nightlies.apache.org/flink/flink-docs-release-2.0/api/java/org/apache/flink/streaming/api/functions/sink/legacy/RichSinkFunction.html>, lacks Table/SQL support, has minimal retry handling, and does not align with Flink’s async/threading model. Proposal Overview
The plan is to reimplement the sink using Flink's Sink V2 API in two phases: - *Phase 1:* Introduce a modular, config-based sink supporting multiple input formats, mailbox-thread-safe async writes, and configurable retries, laying the foundation for future batching. - *Phase 2:* Once Flink 2.1 is available (with FLIP-509 <https://cwiki.apache.org/confluence/display/FLINK/FLIP-509+Add+pluggable+Batching+for+Async+Sink>), we’ll extend this with a new async sink that supports partition-aware batching, optimizing for Cassandra's write semantics. (Jira Ticket <https://issues.apache.org/jira/browse/FLINK-26821>) For full details, please refer to this document <https://docs.google.com/document/d/1A11OZRJBFlysx3GxFmHBL1PWk-4j6LKDacN_LpdaoyY/edit?tab=t.0> . Thanks, Poorvank