Hi all π Hitting a startup failure with Flink CDC 3.7.0 + StarRocks sink on Flink 2.2 β wondering if anyone else has seen it or if it's a known issue.
Setup
β’ Flink 2.2.1 standalone session cluster, Java 17
β’ Flink CDC 3.7.0-2.2 (bin tarball + pipeline connectors from Maven Central)
β’ StarRocks 4.1 sink, Postgres and MySQL sources
β’ Same pipelines/cluster work fine on 3.6.0-2.2
Problem
Any pipeline using the StarRocks sink fails as soon as the sink writer is created, even on a brand-new job (no savepoint):
java.lang.NoSuchMethodError: 'org.apache.flink.api.connector.sink2.SinkWriter org.apache.flink.api.connector.sink2.StatefulSink.createWriter(org.apache.flink.api.connector.sink2.Sink$InitContext)'
at org.apache.flink.api.connector.sink2.StatefulSink.createWriter(StatefulSink.java:41)
at org.apache.flink.streaming.runtime.operators.sink.StatefulSinkWriterStateHandler.createWriter(StatefulSinkWriterStateHandler.java:122)
at org.apache.flink.streaming.runtime.operators.sink.SinkWriterOperator.initializeState(SinkWriterOperator.java:171)
at org.apache.flink.cdc.runtime.operators.sink.DataSinkWriterOperator.initializeState(DataSinkWriterOperator.java:133)
What I noticed
flink-cdc-dist-3.7.0-2.2.jar bundles a new sink2 compat class
StatefulSinkWriterAdapter
that 3.6.0-2.2 didn't have, so it looks like the updated compatibility shim doesn't line up with the StarRocks sink on Flink 2.2.
Why it matters
We need 3.7.0 for FLINK-38742 (Postgres TIMESTAMPTZ β TIMESTAMP_LTZ); on 3.6.0 the StarRocks sink rejects TIMESTAMP_TZ columns.
Questions:
1. Is this a known issue / is a 3.7.1 fix planned?
2. Any workaround besides backporting #4181 onto 3.6?