Poorvank,
It sounds like a great plan ! Thanks
I created a FLIP for your proposal:
https://cwiki.apache.org/confluence/display/FLINK/FLIP-533%3A+Cassandra+Sink+V2
Please open a thread named /[DISCUSS] FLIP-533 Cassandra Sink V2 /to
hold the discussion on the design.
FYI: here is the FLIP process:
https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=65145551#FlinkImprovementProposals-Process
Best
Etienne
Le 03/06/2025 à 14:37, Maximilian Michels a écrit :
+1
On Tue, Jun 3, 2025 at 7:35 AM<gyula.f...@gmail.com> wrote:
Sounds like a great plan, +1
Gyula
On 3 Jun 2025, at 05:57, Leonard Xu<xbjt...@gmail.com> wrote:
+1 for the proposed plan and timeline, thanks Poorvank for driving this FLIP.
Best,
Leonard
2025 6月 3 11:30,Poorvank Bhatia<puravbhat...@gmail.com> 写道:
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