Fluss supports multiple versions of Apache Flink by providing dedicated modules for each version.
The fluss-flink-common
module always targets the latest version of Flink, while the fluss-flink-${flink.version}
modules depend on both fluss-flink-common
and the corresponding Flink version.
Occasionally, Flink's interfaces may change across versions. For example, the class org.apache.flink.api.connector.sink2.WriterInitContext
was
introduced in Flink v1.19, while older APIs were deprecated or removed. In such cases, we address compatibility issues within the specific fluss-flink-${flink.version}
module.
This may involve introducing placeholder classes, such as org.apache.flink.api.connector.sink2.WriterInitContext
, to ensure successful compilation.