flink-cdc icon indicating copy to clipboard operation
flink-cdc copied to clipboard

[common] Add Flink 1.15 support.

Open tigrulya-exe opened this issue 3 years ago • 3 comments

Bumped Flink version to 1.15.1. Added Maven profile for Flink 1.14 compatibility. Relates to #1363

tigrulya-exe avatar Aug 24 '22 07:08 tigrulya-exe

I've tried to reproduce oceanbase test failure locally and found out this issue: https://github.com/testcontainers/testcontainers-java/issues/5151. In OceanBaseTestBase we create two containers with host network mode and expose ports, like in issue above and Flink 1.15.1 uses version 1.6.2 of TestContainers. I'll try to fix it

tigrulya-exe avatar Aug 24 '22 11:08 tigrulya-exe

The cause of failing my-sql tests can be https://issues.apache.org/jira/browse/FLINK-28861. I've debugged MySqlSourceITCase with Flink 1.15.1 and can acknowledge, that OperatorIDs of same operators were different before and after the savepoint. Bumped Flink version to 1.5.2.

tigrulya-exe avatar Aug 25 '22 09:08 tigrulya-exe

Hi, @ruanhang1993 ! Thanks for comments! I've answered on them, can you recheck PR, please?

tigrulya-exe avatar Sep 12 '22 09:09 tigrulya-exe

@tigrulya-exe I think we should add the test environment in cdc e2e tests to verify the flink version 1.15.

ruanhang1993 avatar Oct 24 '22 06:10 ruanhang1993

when support cdc to elasticsearch 8.x for flink cdc ?

CaoYunzhou avatar Oct 28 '22 05:10 CaoYunzhou

when support cdc to elasticsearch 8.x for flink cdc ?

You can open a issue firstly @CaoYunzhou

leonardBang avatar Oct 31 '22 02:10 leonardBang

Hello, @ruanhang1993 ! Sorry for late response, but why did we remove maven module for flink 1.14 version? As far as I remember you said in #1363, that we need to support multiple Flink versions - 1.13, 1.14 and 1.15. For this purpose I've added module, because we can't just use new version of cdc with older Flink distributions due to incompatible changes in 1.15.

tigrulya-exe avatar Nov 17 '22 03:11 tigrulya-exe

Hi, @tigrulya-exe . Sorry for the late response. Actually we do not need to use the Flink 1.14 in the package phase in order to support the Flink version 1.14. What we should do is to make sure that cdc connectors compiled by Flink 1.15 could run right in the Flink 1.14/1.13 environment. So the changes you provided in the MySqlDeserializationConverterFactory.java is needed. The API is not contained in Flink 1.15. We provide a new method that can be used in Flink 1.13, 1.14 and 1.15, which provides the ability to support those Flink versions. In other words, we only need to make sure that the APIs and classes we used could be found among multiple Flink versions.

ruanhang1993 avatar Nov 21 '22 03:11 ruanhang1993