>> 
>> Not sure if this will happen in 1.15 already. We will needed automated
>> compatibility tests and a well-defined list of stable API.

>  We are
> trying to provide forward compatibility: applications using `@Public` APIs
> compiled against Flink 1.12.x, should work fine in Flink 1.13.x

Unfortunately, I also meet forward compatibility issue, when I do the release 
1.14 check, I try to use mysql-cdc connector[1] which compiled against 1.13.1in 
SQL Client, but it can not work in flink 1.14.0 cluster, it failed due to the 
metric API compatibility broken.

@Public
public interface SourceReaderContext {
   
   MetricGroup metricGroup();


@Public
public interface SourceReaderContext {

    SourceReaderMetricGroup metricGroup();


Shouldn't we mark it as @Deprecated and then delete it util 2.0.0 version for 
@Public API as the our community rule [2] described? At least we should keep 
them across server minor versions (<major>.<minor>.<patch>). 

Although these changes can be tracked to voted FLIPs and it’s not the fault of 
a few developers, it show us the fact that we didn’t pay enough attention to 
back compatibility/forward compatibility.

Best,
Leonard
[1] 
https://github.com/ververica/flink-cdc-connectors/tree/master/flink-connector-mysql-cdc
[2] https://cwiki.apache.org/confluence/display/FLINK/Stability+Annotations

Reply via email to