Hi all,

With Flink 2.x removing the Scala streaming module (flink-streaming-scala,
FLIP-265
<https://cwiki.apache.org/confluence/display/FLINK/FLIP-265+Deprecate+and+remove+Scala+API+support>),
connectors that still expose Scala surfaces now need to decide how to
handle this transition.

For example, in the Cassandra connector we currently have sinks supporting
*scala.Product*: CassandraScalaProductSink
<https://github.com/apache/flink-connector-cassandra/blob/main/flink-connector-cassandra/src/main/java/org/apache/flink/streaming/connectors/cassandra/CassandraScalaProductSink.java>
 (Flink Scala Dep
<https://github.com/apache/flink-connector-cassandra/blob/main/flink-connector-cassandra/pom.xml#L69>
)

Since Flink no longer provides Scala transitively, these classes won’t
compile without adding Scala directly. (When moving connectors to 2.1)

*Proposal:*

   -

   *In Flink 2.1 connectors:* Keep the Scala Product sinks by adding an
   explicit Scala dependency in the connector module’s pom.xml and mark
   them *@Deprecated*.
   -

   *In the next release :* remove the Scala sinks and related type
   extraction completely.

*Rationale:*
This allows users who still rely on Scala sinks to migrate gracefully,
while we move connectors off Flink’s Scala surface.

Let me know if there was already an earlier discussion on this topic for
connectors — happy to align with prior direction.

Thanks,

Poorvank Bhatia

Reply via email to