[common] Add Flink 1.15 support.
Bumped Flink version to 1.15.1. Added Maven profile for Flink 1.14 compatibility. Relates to #1363
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
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.
Hi, @ruanhang1993 ! Thanks for comments! I've answered on them, can you recheck PR, please?
@tigrulya-exe I think we should add the test environment in cdc e2e tests to verify the flink version 1.15.
when support cdc to elasticsearch 8.x for flink cdc ?
when support cdc to elasticsearch 8.x for flink cdc ?
You can open a issue firstly @CaoYunzhou
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.
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.