This is an automated email from the ASF dual-hosted git repository.

leonard pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink-cdc.git


The following commit(s) were added to refs/heads/master by this push:
     new ecaf82e43 [build] Update version to 3.5-SNAPSHOT
ecaf82e43 is described below

commit ecaf82e435052570d78fd92a41b195b287504079
Author: Kunni <[email protected]>
AuthorDate: Tue Apr 29 10:43:26 2025 +0800

    [build] Update version to 3.5-SNAPSHOT
    
    This closes #4008
---
 Dockerfile                                         |   2 +-
 docs/config.toml                                   |   5 +-
 pom.xml                                            |   2 +-
 tools/mig-test/.gitignore                          |   8 -
 tools/mig-test/README.md                           |  38 ---
 tools/mig-test/conf/docker-compose.yml             |  24 --
 tools/mig-test/conf/pipeline-route.yaml            |  41 ----
 tools/mig-test/datastream/README.md                |  11 -
 tools/mig-test/datastream/compile_jobs.rb          |  26 ---
 .../datastream/datastream-3.2.0/.gitignore         |  38 ---
 tools/mig-test/datastream/datastream-3.2.0/pom.xml | 255 ---------------------
 .../src/main/java/DataStreamJob.java               |  50 ----
 .../datastream/datastream-3.2.1/.gitignore         |  38 ---
 tools/mig-test/datastream/datastream-3.2.1/pom.xml | 255 ---------------------
 .../src/main/java/DataStreamJob.java               |  50 ----
 .../datastream/datastream-3.3.0/.gitignore         |  38 ---
 tools/mig-test/datastream/datastream-3.3.0/pom.xml | 255 ---------------------
 .../src/main/java/DataStreamJob.java               |  50 ----
 .../datastream/datastream-3.4-SNAPSHOT/.gitignore  |  38 ---
 .../datastream/datastream-3.4-SNAPSHOT/pom.xml     | 255 ---------------------
 .../src/main/java/DataStreamJob.java               |  50 ----
 tools/mig-test/datastream/run_migration_test.rb    | 124 ----------
 tools/mig-test/misc/patch_flink_conf.rb            |  36 ---
 tools/mig-test/prepare_libs.rb                     | 100 --------
 tools/mig-test/run_migration_test.rb               | 146 ------------
 25 files changed, 5 insertions(+), 1930 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index 7653e551b..fc050ad52 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -17,7 +17,7 @@
 
 FROM flink
 
-ARG FLINK_CDC_VERSION=3.4-SNAPSHOT
+ARG FLINK_CDC_VERSION=3.5-SNAPSHOT
 ARG PIPELINE_DEFINITION_FILE
 
 RUN mkdir -p /opt/flink-cdc
diff --git a/docs/config.toml b/docs/config.toml
index 95fb76993..56236fa01 100644
--- a/docs/config.toml
+++ b/docs/config.toml
@@ -34,11 +34,11 @@ pygmentsUseClasses = true
   # where we change the version for the complete docs when forking of a release
   # branch etc.
   # The full version string as referenced in Maven (e.g. 1.2.1)
-  Version = "3.4-SNAPSHOT"
+  Version = "3.5-SNAPSHOT"
 
   # For stable releases, leave the bugfix version out (e.g. 1.2). For snapshot
   # release this should be the same as the regular version
-  VersionTitle = "3.4-SNAPSHOT"
+  VersionTitle = "3.5-SNAPSHOT"
 
   # The branch for this version of Apache Flink CDC
   Branch = "master"
@@ -58,6 +58,7 @@ pygmentsUseClasses = true
   ]
 
   PreviousDocs = [
+    ["3.4", "https://nightlies.apache.org/flink/flink-cdc-docs-release-3.4";],
     ["3.3", "https://nightlies.apache.org/flink/flink-cdc-docs-release-3.3";],
     ["3.2", "https://nightlies.apache.org/flink/flink-cdc-docs-release-3.2";],
     ["3.1", "https://nightlies.apache.org/flink/flink-cdc-docs-release-3.1";]
diff --git a/pom.xml b/pom.xml
index 0d700efa8..31728bbba 100644
--- a/pom.xml
+++ b/pom.xml
@@ -59,7 +59,7 @@ limitations under the License.
     </scm>
 
     <properties>
-        <revision>3.4-SNAPSHOT</revision>
+        <revision>3.5-SNAPSHOT</revision>
         <scala.binary.version>2.12</scala.binary.version>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <!-- Enforce single fork execution due to heavy mini cluster use in 
the tests -->
diff --git a/tools/mig-test/.gitignore b/tools/mig-test/.gitignore
deleted file mode 100644
index d0ca45c15..000000000
--- a/tools/mig-test/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-*.sql
-savepoints/**
-cdc-versions/**
-cache/**
-.idea/**
-Gemfile.lock
-/logs/
-conf/temp.yaml
\ No newline at end of file
diff --git a/tools/mig-test/README.md b/tools/mig-test/README.md
deleted file mode 100644
index 39925cb95..000000000
--- a/tools/mig-test/README.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# Flink CDC Migration Test Utilities
-
-## Pipeline Jobs
-### Preparation
-
-1. Install Ruby (macOS has embedded it by default)
-2. (Optional) Run `gem install terminal-table` for better display
-
-### Compile snapshot CDC versions
-3. Set `CDC_SOURCE_HOME` to the root directory of the Flink CDC git repository
-4. Go to `tools/mig-test` and run `ruby prepare_libs.rb` to download released 
/ compile snapshot CDC versions
-
-### Run migration tests
-5. Enter `conf/` and run `docker compose up -d` to start up test containers
-6. Set `FLINK_HOME` to the home directory of Flink
-7. Go back to `tools/mig-test` and run `ruby run_migration_test.rb` to start 
testing
-
-### Result
-The migration result will be displayed in the console like this:
-
-```
-+--------------------------------------------------------------------+
-|                       Migration Test Result                        |
-+--------------+-------+-------+-------+--------------+--------------+
-|              | 3.0.0 | 3.0.1 | 3.1.0 | 3.1-SNAPSHOT | 3.2-SNAPSHOT |
-| 3.0.0        | ❓    | ❓    | ❌    | ✅           | ✅           |
-| 3.0.1        |       | ❓    | ❌    | ✅           | ✅           |
-| 3.1.0        |       |       | ✅    | ❌           | ❌           |
-| 3.1-SNAPSHOT |       |       |       | ✅           | ✅           |
-| 3.2-SNAPSHOT |       |       |       |              | ✅           |
-+--------------+-------+-------+-------+--------------+--------------+
-```
-
-> ✅ - Compatible, ❌ - Not compatible, ❓ - Target version doesn't support 
`--from-savepoint`
-
-## DataStream Jobs
-
-See `datastream/README.md`.
diff --git a/tools/mig-test/conf/docker-compose.yml 
b/tools/mig-test/conf/docker-compose.yml
deleted file mode 100644
index b195a59f6..000000000
--- a/tools/mig-test/conf/docker-compose.yml
+++ /dev/null
@@ -1,24 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-version: '3'
-services:
-  mysql:
-    image: mysql:8.0
-    environment:
-      MYSQL_ALLOW_EMPTY_PASSWORD: "true"
-      MYSQL_DATABASE: fallen
-    ports:
-      - 3306:3306
diff --git a/tools/mig-test/conf/pipeline-route.yaml 
b/tools/mig-test/conf/pipeline-route.yaml
deleted file mode 100644
index 0054d4d18..000000000
--- a/tools/mig-test/conf/pipeline-route.yaml
+++ /dev/null
@@ -1,41 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-source:
-  type: mysql
-  name: MySQL Source
-  hostname: localhost
-  port: 3306
-  username: root
-  password: ""
-  tables: fallen.\.*
-  server-id: 5400-5500
-  server-time-zone: UTC
-
-sink:
-  type: values
-  name: Values Sink
-
-pipeline:
-  name: ${PIPELINE_NAME}
-  parallelism: 1
-
-transform:
-  - source-table: fallen.\.*
-    projection: \*, 'extras' AS EXTRAS
-
-route:
-  - source-table: fallen.\.*
-    sink-table: fallen.terminus
diff --git a/tools/mig-test/datastream/README.md 
b/tools/mig-test/datastream/README.md
deleted file mode 100644
index e4d639b01..000000000
--- a/tools/mig-test/datastream/README.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# Flink CDC MigrationTestUtils
-
-## DataStream Jobs
-### Preparation
-
-1. Install Ruby (macOS has embedded it by default)
-2. (Optional) Run `gem install terminal-table` for better display
-
-### Compile DataStream Jobs
-3. Go to `tools/mig-test/datastream` and run `ruby compile_jobs.rb` to compile 
dummy DataStream jobs with specific version tags
-4. Then, run `ruby run_migration_test.rb` to start testing
\ No newline at end of file
diff --git a/tools/mig-test/datastream/compile_jobs.rb 
b/tools/mig-test/datastream/compile_jobs.rb
deleted file mode 100644
index 2326a4540..000000000
--- a/tools/mig-test/datastream/compile_jobs.rb
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/usr/bin/env ruby
-# frozen_string_literal: true
-
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-JOB_VERSIONS = %w[3.2.0 3.2.1 3.3.0 3.4-SNAPSHOT]
-
-JOB_VERSIONS.each do |version|
-  puts "Compiling DataStream job for CDC #{version}"
-  system "cd datastream-#{version} && mvn clean package -DskipTests"
-end
-
-puts 'Done'
\ No newline at end of file
diff --git a/tools/mig-test/datastream/datastream-3.2.0/.gitignore 
b/tools/mig-test/datastream/datastream-3.2.0/.gitignore
deleted file mode 100644
index 5ff6309b7..000000000
--- a/tools/mig-test/datastream/datastream-3.2.0/.gitignore
+++ /dev/null
@@ -1,38 +0,0 @@
-target/
-!.mvn/wrapper/maven-wrapper.jar
-!**/src/main/**/target/
-!**/src/test/**/target/
-
-### IntelliJ IDEA ###
-.idea/modules.xml
-.idea/jarRepositories.xml
-.idea/compiler.xml
-.idea/libraries/
-*.iws
-*.iml
-*.ipr
-
-### Eclipse ###
-.apt_generated
-.classpath
-.factorypath
-.project
-.settings
-.springBeans
-.sts4-cache
-
-### NetBeans ###
-/nbproject/private/
-/nbbuild/
-/dist/
-/nbdist/
-/.nb-gradle/
-build/
-!**/src/main/**/build/
-!**/src/test/**/build/
-
-### VS Code ###
-.vscode/
-
-### Mac OS ###
-.DS_Store
\ No newline at end of file
diff --git a/tools/mig-test/datastream/datastream-3.2.0/pom.xml 
b/tools/mig-test/datastream/datastream-3.2.0/pom.xml
deleted file mode 100644
index b624439ed..000000000
--- a/tools/mig-test/datastream/datastream-3.2.0/pom.xml
+++ /dev/null
@@ -1,255 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0";
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>org.apache.flink</groupId>
-    <artifactId>datastream-job</artifactId>
-    <version>3.2.0</version>
-    <packaging>jar</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <flink.version>1.18.1</flink.version>
-        <flink.cdc.version>3.2.0</flink.cdc.version>
-        <debezium.version>1.9.8.Final</debezium.version>
-        <scala.binary.version>2.12</scala.binary.version>
-        <slf4j.version>2.0.13</slf4j.version>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-streaming-java</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-runtime</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-java</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-connector-base</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-clients</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            
<artifactId>flink-table-planner_${scala.binary.version}</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-table-runtime</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-core</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-table-common</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <!-- Checked the dependencies of the Flink project and below is a 
feasible reference. -->
-        <!--  Use flink shaded guava  18.0-13.0 for flink 1.13   -->
-        <!--  Use flink shaded guava  30.1.1-jre-14.0 for flink-1.14  -->
-        <!--  Use flink shaded guava  30.1.1-jre-15.0 for flink-1.15  -->
-        <!--  Use flink shaded guava  30.1.1-jre-15.0 for flink-1.16  -->
-        <!--  Use flink shaded guava  30.1.1-jre-16.1 for flink-1.17  -->
-        <!--  Use flink shaded guava  31.1-jre-17.0   for flink-1.18  -->
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-shaded-guava</artifactId>
-            <version>31.1-jre-17.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-connector-debezium</artifactId>
-            <version>${flink.cdc.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-cdc-base</artifactId>
-            <version>${flink.cdc.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-connector-mysql-cdc</artifactId>
-            <version>${flink.cdc.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>io.debezium</groupId>
-            <artifactId>debezium-connector-mysql</artifactId>
-            <version>${debezium.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-            <version>${slf4j.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <version>${slf4j.version}</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>${maven.compiler.source}</source>
-                    <target>${maven.compiler.target}</target>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-shade-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>shade-flink</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>shade</goal>
-                        </goals>
-                        <configuration>
-                            <!-- Shading test jar have bug in some previous 
version, so close this configuration here,
-                            see 
https://issues.apache.org/jira/browse/MSHADE-284 -->
-                            <shadeTestJar>false</shadeTestJar>
-                            
<shadedArtifactAttached>false</shadedArtifactAttached>
-                            
<createDependencyReducedPom>true</createDependencyReducedPom>
-                            <dependencyReducedPomLocation>
-                                
${project.basedir}/target/dependency-reduced-pom.xml
-                            </dependencyReducedPomLocation>
-                            <filters combine.children="append">
-                                <filter>
-                                    <artifact>*:*</artifact>
-                                    <excludes>
-                                        <exclude>module-info.class</exclude>
-                                        <exclude>META-INF/*.SF</exclude>
-                                        <exclude>META-INF/*.DSA</exclude>
-                                        <exclude>META-INF/*.RSA</exclude>
-                                    </excludes>
-                                </filter>
-                            </filters>
-                            <artifactSet>
-                                <includes>
-                                    <include>io.debezium:debezium-api</include>
-                                    
<include>io.debezium:debezium-embedded</include>
-                                    
<include>io.debezium:debezium-core</include>
-                                    
<include>io.debezium:debezium-ddl-parser</include>
-                                    
<include>io.debezium:debezium-connector-mysql</include>
-                                    
<include>org.apache.flink:flink-connector-debezium</include>
-                                    
<include>org.apache.flink:flink-connector-mysql-cdc</include>
-                                    <include>org.antlr:antlr4-runtime</include>
-                                    <include>org.apache.kafka:*</include>
-                                    
<include>mysql:mysql-connector-java</include>
-                                    
<include>com.zendesk:mysql-binlog-connector-java</include>
-                                    <include>com.fasterxml.*:*</include>
-                                    <include>com.google.guava:*</include>
-                                    
<include>com.esri.geometry:esri-geometry-api</include>
-                                    <include>com.zaxxer:HikariCP</include>
-                                    <!--  Include fixed version 
30.1.1-jre-16.0 of flink shaded guava  -->
-                                    
<include>org.apache.flink:flink-shaded-guava</include>
-                                </includes>
-                            </artifactSet>
-                            <relocations>
-                                <relocation>
-                                    <pattern>org.apache.kafka</pattern>
-                                    <shadedPattern>
-                                        
org.apache.flink.cdc.connectors.shaded.org.apache.kafka
-                                    </shadedPattern>
-                                </relocation>
-                                <relocation>
-                                    <pattern>org.antlr</pattern>
-                                    <shadedPattern>
-                                        
org.apache.flink.cdc.connectors.shaded.org.antlr
-                                    </shadedPattern>
-                                </relocation>
-                                <relocation>
-                                    <pattern>com.fasterxml</pattern>
-                                    <shadedPattern>
-                                        
org.apache.flink.cdc.connectors.shaded.com.fasterxml
-                                    </shadedPattern>
-                                </relocation>
-                                <relocation>
-                                    <pattern>com.google</pattern>
-                                    <shadedPattern>
-                                        
org.apache.flink.cdc.connectors.shaded.com.google
-                                    </shadedPattern>
-                                </relocation>
-                                <relocation>
-                                    <pattern>com.esri.geometry</pattern>
-                                    
<shadedPattern>org.apache.flink.cdc.connectors.shaded.com.esri.geometry</shadedPattern>
-                                </relocation>
-                                <relocation>
-                                    <pattern>com.zaxxer</pattern>
-                                    <shadedPattern>
-                                        
org.apache.flink.cdc.connectors.shaded.com.zaxxer
-                                    </shadedPattern>
-                                </relocation>
-                            </relocations>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-    <profiles>
-        <profile>
-            <id>java-8-target</id>
-            <activation>
-                <jdk>[1.8,11)</jdk>
-            </activation>
-            <properties>
-                <java.version>1.8</java.version>
-                <maven.compiler.source>${java.version}</maven.compiler.source>
-                <maven.compiler.target>${java.version}</maven.compiler.target>
-            </properties>
-        </profile>
-        <profile>
-            <id>java-11-target</id>
-            <activation>
-                <jdk>[11,)</jdk>
-            </activation>
-            <properties>
-                <java.version>11</java.version>
-                <maven.compiler.source>${java.version}</maven.compiler.source>
-                <maven.compiler.target>${java.version}</maven.compiler.target>
-            </properties>
-        </profile>
-    </profiles>
-</project>
\ No newline at end of file
diff --git 
a/tools/mig-test/datastream/datastream-3.2.0/src/main/java/DataStreamJob.java 
b/tools/mig-test/datastream/datastream-3.2.0/src/main/java/DataStreamJob.java
deleted file mode 100644
index bfaa2d529..000000000
--- 
a/tools/mig-test/datastream/datastream-3.2.0/src/main/java/DataStreamJob.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import org.apache.flink.cdc.connectors.mysql.source.MySqlSource;
-import org.apache.flink.cdc.connectors.mysql.table.StartupOptions;
-import org.apache.flink.cdc.debezium.JsonDebeziumDeserializationSchema;
-import org.apache.flink.api.common.eventtime.WatermarkStrategy;
-import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
-
-public class DataStreamJob {
-
-    public static void main(String[] args) throws Exception {
-        MySqlSource<String> mySqlSource = MySqlSource.<String>builder()
-                .hostname("localhost")
-                .port(3306)
-                .databaseList("fallen")
-                .tableList("fallen.angel", "fallen.gabriel", "fallen.girl")
-                .startupOptions(StartupOptions.initial())
-                .username("root")
-                .password("")
-                .deserializer(new JsonDebeziumDeserializationSchema())
-                .serverTimeZone("UTC")
-                .build();
-
-        StreamExecutionEnvironment env = 
StreamExecutionEnvironment.getExecutionEnvironment();
-        env.enableCheckpointing(3000);
-
-        env.fromSource(mySqlSource, WatermarkStrategy.noWatermarks(), "MySQL 
CDC Source")
-                .uid("sql-source-uid")
-                .setParallelism(1)
-                .print()
-                .setParallelism(1);
-
-        env.execute();
-    }
-}
diff --git a/tools/mig-test/datastream/datastream-3.2.1/.gitignore 
b/tools/mig-test/datastream/datastream-3.2.1/.gitignore
deleted file mode 100644
index 5ff6309b7..000000000
--- a/tools/mig-test/datastream/datastream-3.2.1/.gitignore
+++ /dev/null
@@ -1,38 +0,0 @@
-target/
-!.mvn/wrapper/maven-wrapper.jar
-!**/src/main/**/target/
-!**/src/test/**/target/
-
-### IntelliJ IDEA ###
-.idea/modules.xml
-.idea/jarRepositories.xml
-.idea/compiler.xml
-.idea/libraries/
-*.iws
-*.iml
-*.ipr
-
-### Eclipse ###
-.apt_generated
-.classpath
-.factorypath
-.project
-.settings
-.springBeans
-.sts4-cache
-
-### NetBeans ###
-/nbproject/private/
-/nbbuild/
-/dist/
-/nbdist/
-/.nb-gradle/
-build/
-!**/src/main/**/build/
-!**/src/test/**/build/
-
-### VS Code ###
-.vscode/
-
-### Mac OS ###
-.DS_Store
\ No newline at end of file
diff --git a/tools/mig-test/datastream/datastream-3.2.1/pom.xml 
b/tools/mig-test/datastream/datastream-3.2.1/pom.xml
deleted file mode 100644
index decbc9f0c..000000000
--- a/tools/mig-test/datastream/datastream-3.2.1/pom.xml
+++ /dev/null
@@ -1,255 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0";
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>org.apache.flink</groupId>
-    <artifactId>datastream-job</artifactId>
-    <version>3.2.1</version>
-    <packaging>jar</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <flink.version>1.19.2</flink.version>
-        <flink.cdc.version>3.2.1</flink.cdc.version>
-        <debezium.version>1.9.8.Final</debezium.version>
-        <scala.binary.version>2.12</scala.binary.version>
-        <slf4j.version>2.0.13</slf4j.version>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-streaming-java</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-runtime</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-java</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-connector-base</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-clients</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            
<artifactId>flink-table-planner_${scala.binary.version}</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-table-runtime</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-core</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-table-common</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <!-- Checked the dependencies of the Flink project and below is a 
feasible reference. -->
-        <!--  Use flink shaded guava  18.0-13.0 for flink 1.13   -->
-        <!--  Use flink shaded guava  30.1.1-jre-14.0 for flink-1.14  -->
-        <!--  Use flink shaded guava  30.1.1-jre-15.0 for flink-1.15  -->
-        <!--  Use flink shaded guava  30.1.1-jre-15.0 for flink-1.16  -->
-        <!--  Use flink shaded guava  30.1.1-jre-16.1 for flink-1.17  -->
-        <!--  Use flink shaded guava  31.1-jre-17.0   for flink-1.18  -->
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-shaded-guava</artifactId>
-            <version>31.1-jre-17.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-connector-debezium</artifactId>
-            <version>${flink.cdc.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-cdc-base</artifactId>
-            <version>${flink.cdc.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-connector-mysql-cdc</artifactId>
-            <version>${flink.cdc.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>io.debezium</groupId>
-            <artifactId>debezium-connector-mysql</artifactId>
-            <version>${debezium.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-            <version>${slf4j.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <version>${slf4j.version}</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>${maven.compiler.source}</source>
-                    <target>${maven.compiler.target}</target>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-shade-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>shade-flink</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>shade</goal>
-                        </goals>
-                        <configuration>
-                            <!-- Shading test jar have bug in some previous 
version, so close this configuration here,
-                            see 
https://issues.apache.org/jira/browse/MSHADE-284 -->
-                            <shadeTestJar>false</shadeTestJar>
-                            
<shadedArtifactAttached>false</shadedArtifactAttached>
-                            
<createDependencyReducedPom>true</createDependencyReducedPom>
-                            <dependencyReducedPomLocation>
-                                
${project.basedir}/target/dependency-reduced-pom.xml
-                            </dependencyReducedPomLocation>
-                            <filters combine.children="append">
-                                <filter>
-                                    <artifact>*:*</artifact>
-                                    <excludes>
-                                        <exclude>module-info.class</exclude>
-                                        <exclude>META-INF/*.SF</exclude>
-                                        <exclude>META-INF/*.DSA</exclude>
-                                        <exclude>META-INF/*.RSA</exclude>
-                                    </excludes>
-                                </filter>
-                            </filters>
-                            <artifactSet>
-                                <includes>
-                                    <include>io.debezium:debezium-api</include>
-                                    
<include>io.debezium:debezium-embedded</include>
-                                    
<include>io.debezium:debezium-core</include>
-                                    
<include>io.debezium:debezium-ddl-parser</include>
-                                    
<include>io.debezium:debezium-connector-mysql</include>
-                                    
<include>org.apache.flink:flink-connector-debezium</include>
-                                    
<include>org.apache.flink:flink-connector-mysql-cdc</include>
-                                    <include>org.antlr:antlr4-runtime</include>
-                                    <include>org.apache.kafka:*</include>
-                                    
<include>mysql:mysql-connector-java</include>
-                                    
<include>com.zendesk:mysql-binlog-connector-java</include>
-                                    <include>com.fasterxml.*:*</include>
-                                    <include>com.google.guava:*</include>
-                                    
<include>com.esri.geometry:esri-geometry-api</include>
-                                    <include>com.zaxxer:HikariCP</include>
-                                    <!--  Include fixed version 
30.1.1-jre-16.0 of flink shaded guava  -->
-                                    
<include>org.apache.flink:flink-shaded-guava</include>
-                                </includes>
-                            </artifactSet>
-                            <relocations>
-                                <relocation>
-                                    <pattern>org.apache.kafka</pattern>
-                                    <shadedPattern>
-                                        
org.apache.flink.cdc.connectors.shaded.org.apache.kafka
-                                    </shadedPattern>
-                                </relocation>
-                                <relocation>
-                                    <pattern>org.antlr</pattern>
-                                    <shadedPattern>
-                                        
org.apache.flink.cdc.connectors.shaded.org.antlr
-                                    </shadedPattern>
-                                </relocation>
-                                <relocation>
-                                    <pattern>com.fasterxml</pattern>
-                                    <shadedPattern>
-                                        
org.apache.flink.cdc.connectors.shaded.com.fasterxml
-                                    </shadedPattern>
-                                </relocation>
-                                <relocation>
-                                    <pattern>com.google</pattern>
-                                    <shadedPattern>
-                                        
org.apache.flink.cdc.connectors.shaded.com.google
-                                    </shadedPattern>
-                                </relocation>
-                                <relocation>
-                                    <pattern>com.esri.geometry</pattern>
-                                    
<shadedPattern>org.apache.flink.cdc.connectors.shaded.com.esri.geometry</shadedPattern>
-                                </relocation>
-                                <relocation>
-                                    <pattern>com.zaxxer</pattern>
-                                    <shadedPattern>
-                                        
org.apache.flink.cdc.connectors.shaded.com.zaxxer
-                                    </shadedPattern>
-                                </relocation>
-                            </relocations>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-    <profiles>
-        <profile>
-            <id>java-8-target</id>
-            <activation>
-                <jdk>[1.8,11)</jdk>
-            </activation>
-            <properties>
-                <java.version>1.8</java.version>
-                <maven.compiler.source>${java.version}</maven.compiler.source>
-                <maven.compiler.target>${java.version}</maven.compiler.target>
-            </properties>
-        </profile>
-        <profile>
-            <id>java-11-target</id>
-            <activation>
-                <jdk>[11,)</jdk>
-            </activation>
-            <properties>
-                <java.version>11</java.version>
-                <maven.compiler.source>${java.version}</maven.compiler.source>
-                <maven.compiler.target>${java.version}</maven.compiler.target>
-            </properties>
-        </profile>
-    </profiles>
-</project>
\ No newline at end of file
diff --git 
a/tools/mig-test/datastream/datastream-3.2.1/src/main/java/DataStreamJob.java 
b/tools/mig-test/datastream/datastream-3.2.1/src/main/java/DataStreamJob.java
deleted file mode 100644
index bfaa2d529..000000000
--- 
a/tools/mig-test/datastream/datastream-3.2.1/src/main/java/DataStreamJob.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import org.apache.flink.cdc.connectors.mysql.source.MySqlSource;
-import org.apache.flink.cdc.connectors.mysql.table.StartupOptions;
-import org.apache.flink.cdc.debezium.JsonDebeziumDeserializationSchema;
-import org.apache.flink.api.common.eventtime.WatermarkStrategy;
-import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
-
-public class DataStreamJob {
-
-    public static void main(String[] args) throws Exception {
-        MySqlSource<String> mySqlSource = MySqlSource.<String>builder()
-                .hostname("localhost")
-                .port(3306)
-                .databaseList("fallen")
-                .tableList("fallen.angel", "fallen.gabriel", "fallen.girl")
-                .startupOptions(StartupOptions.initial())
-                .username("root")
-                .password("")
-                .deserializer(new JsonDebeziumDeserializationSchema())
-                .serverTimeZone("UTC")
-                .build();
-
-        StreamExecutionEnvironment env = 
StreamExecutionEnvironment.getExecutionEnvironment();
-        env.enableCheckpointing(3000);
-
-        env.fromSource(mySqlSource, WatermarkStrategy.noWatermarks(), "MySQL 
CDC Source")
-                .uid("sql-source-uid")
-                .setParallelism(1)
-                .print()
-                .setParallelism(1);
-
-        env.execute();
-    }
-}
diff --git a/tools/mig-test/datastream/datastream-3.3.0/.gitignore 
b/tools/mig-test/datastream/datastream-3.3.0/.gitignore
deleted file mode 100644
index 5ff6309b7..000000000
--- a/tools/mig-test/datastream/datastream-3.3.0/.gitignore
+++ /dev/null
@@ -1,38 +0,0 @@
-target/
-!.mvn/wrapper/maven-wrapper.jar
-!**/src/main/**/target/
-!**/src/test/**/target/
-
-### IntelliJ IDEA ###
-.idea/modules.xml
-.idea/jarRepositories.xml
-.idea/compiler.xml
-.idea/libraries/
-*.iws
-*.iml
-*.ipr
-
-### Eclipse ###
-.apt_generated
-.classpath
-.factorypath
-.project
-.settings
-.springBeans
-.sts4-cache
-
-### NetBeans ###
-/nbproject/private/
-/nbbuild/
-/dist/
-/nbdist/
-/.nb-gradle/
-build/
-!**/src/main/**/build/
-!**/src/test/**/build/
-
-### VS Code ###
-.vscode/
-
-### Mac OS ###
-.DS_Store
\ No newline at end of file
diff --git a/tools/mig-test/datastream/datastream-3.3.0/pom.xml 
b/tools/mig-test/datastream/datastream-3.3.0/pom.xml
deleted file mode 100644
index 0abaf4df5..000000000
--- a/tools/mig-test/datastream/datastream-3.3.0/pom.xml
+++ /dev/null
@@ -1,255 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0";
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>org.apache.flink</groupId>
-    <artifactId>datastream-job</artifactId>
-    <version>3.3.0</version>
-    <packaging>jar</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <flink.version>1.19.2</flink.version>
-        <flink.cdc.version>3.3.0</flink.cdc.version>
-        <debezium.version>1.9.8.Final</debezium.version>
-        <scala.binary.version>2.12</scala.binary.version>
-        <slf4j.version>2.0.13</slf4j.version>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-streaming-java</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-runtime</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-java</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-connector-base</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-clients</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            
<artifactId>flink-table-planner_${scala.binary.version}</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-table-runtime</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-core</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-table-common</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <!-- Checked the dependencies of the Flink project and below is a 
feasible reference. -->
-        <!--  Use flink shaded guava  18.0-13.0 for flink 1.13   -->
-        <!--  Use flink shaded guava  30.1.1-jre-14.0 for flink-1.14  -->
-        <!--  Use flink shaded guava  30.1.1-jre-15.0 for flink-1.15  -->
-        <!--  Use flink shaded guava  30.1.1-jre-15.0 for flink-1.16  -->
-        <!--  Use flink shaded guava  30.1.1-jre-16.1 for flink-1.17  -->
-        <!--  Use flink shaded guava  31.1-jre-17.0   for flink-1.18  -->
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-shaded-guava</artifactId>
-            <version>31.1-jre-17.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-connector-debezium</artifactId>
-            <version>${flink.cdc.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-cdc-base</artifactId>
-            <version>${flink.cdc.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-connector-mysql-cdc</artifactId>
-            <version>${flink.cdc.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>io.debezium</groupId>
-            <artifactId>debezium-connector-mysql</artifactId>
-            <version>${debezium.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-            <version>${slf4j.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <version>${slf4j.version}</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>${maven.compiler.source}</source>
-                    <target>${maven.compiler.target}</target>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-shade-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>shade-flink</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>shade</goal>
-                        </goals>
-                        <configuration>
-                            <!-- Shading test jar have bug in some previous 
version, so close this configuration here,
-                            see 
https://issues.apache.org/jira/browse/MSHADE-284 -->
-                            <shadeTestJar>false</shadeTestJar>
-                            
<shadedArtifactAttached>false</shadedArtifactAttached>
-                            
<createDependencyReducedPom>true</createDependencyReducedPom>
-                            <dependencyReducedPomLocation>
-                                
${project.basedir}/target/dependency-reduced-pom.xml
-                            </dependencyReducedPomLocation>
-                            <filters combine.children="append">
-                                <filter>
-                                    <artifact>*:*</artifact>
-                                    <excludes>
-                                        <exclude>module-info.class</exclude>
-                                        <exclude>META-INF/*.SF</exclude>
-                                        <exclude>META-INF/*.DSA</exclude>
-                                        <exclude>META-INF/*.RSA</exclude>
-                                    </excludes>
-                                </filter>
-                            </filters>
-                            <artifactSet>
-                                <includes>
-                                    <include>io.debezium:debezium-api</include>
-                                    
<include>io.debezium:debezium-embedded</include>
-                                    
<include>io.debezium:debezium-core</include>
-                                    
<include>io.debezium:debezium-ddl-parser</include>
-                                    
<include>io.debezium:debezium-connector-mysql</include>
-                                    
<include>org.apache.flink:flink-connector-debezium</include>
-                                    
<include>org.apache.flink:flink-connector-mysql-cdc</include>
-                                    <include>org.antlr:antlr4-runtime</include>
-                                    <include>org.apache.kafka:*</include>
-                                    
<include>mysql:mysql-connector-java</include>
-                                    
<include>com.zendesk:mysql-binlog-connector-java</include>
-                                    <include>com.fasterxml.*:*</include>
-                                    <include>com.google.guava:*</include>
-                                    
<include>com.esri.geometry:esri-geometry-api</include>
-                                    <include>com.zaxxer:HikariCP</include>
-                                    <!--  Include fixed version 
30.1.1-jre-16.0 of flink shaded guava  -->
-                                    
<include>org.apache.flink:flink-shaded-guava</include>
-                                </includes>
-                            </artifactSet>
-                            <relocations>
-                                <relocation>
-                                    <pattern>org.apache.kafka</pattern>
-                                    <shadedPattern>
-                                        
org.apache.flink.cdc.connectors.shaded.org.apache.kafka
-                                    </shadedPattern>
-                                </relocation>
-                                <relocation>
-                                    <pattern>org.antlr</pattern>
-                                    <shadedPattern>
-                                        
org.apache.flink.cdc.connectors.shaded.org.antlr
-                                    </shadedPattern>
-                                </relocation>
-                                <relocation>
-                                    <pattern>com.fasterxml</pattern>
-                                    <shadedPattern>
-                                        
org.apache.flink.cdc.connectors.shaded.com.fasterxml
-                                    </shadedPattern>
-                                </relocation>
-                                <relocation>
-                                    <pattern>com.google</pattern>
-                                    <shadedPattern>
-                                        
org.apache.flink.cdc.connectors.shaded.com.google
-                                    </shadedPattern>
-                                </relocation>
-                                <relocation>
-                                    <pattern>com.esri.geometry</pattern>
-                                    
<shadedPattern>org.apache.flink.cdc.connectors.shaded.com.esri.geometry</shadedPattern>
-                                </relocation>
-                                <relocation>
-                                    <pattern>com.zaxxer</pattern>
-                                    <shadedPattern>
-                                        
org.apache.flink.cdc.connectors.shaded.com.zaxxer
-                                    </shadedPattern>
-                                </relocation>
-                            </relocations>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-    <profiles>
-        <profile>
-            <id>java-8-target</id>
-            <activation>
-                <jdk>[1.8,11)</jdk>
-            </activation>
-            <properties>
-                <java.version>1.8</java.version>
-                <maven.compiler.source>${java.version}</maven.compiler.source>
-                <maven.compiler.target>${java.version}</maven.compiler.target>
-            </properties>
-        </profile>
-        <profile>
-            <id>java-11-target</id>
-            <activation>
-                <jdk>[11,)</jdk>
-            </activation>
-            <properties>
-                <java.version>11</java.version>
-                <maven.compiler.source>${java.version}</maven.compiler.source>
-                <maven.compiler.target>${java.version}</maven.compiler.target>
-            </properties>
-        </profile>
-    </profiles>
-</project>
\ No newline at end of file
diff --git 
a/tools/mig-test/datastream/datastream-3.3.0/src/main/java/DataStreamJob.java 
b/tools/mig-test/datastream/datastream-3.3.0/src/main/java/DataStreamJob.java
deleted file mode 100644
index bfaa2d529..000000000
--- 
a/tools/mig-test/datastream/datastream-3.3.0/src/main/java/DataStreamJob.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import org.apache.flink.cdc.connectors.mysql.source.MySqlSource;
-import org.apache.flink.cdc.connectors.mysql.table.StartupOptions;
-import org.apache.flink.cdc.debezium.JsonDebeziumDeserializationSchema;
-import org.apache.flink.api.common.eventtime.WatermarkStrategy;
-import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
-
-public class DataStreamJob {
-
-    public static void main(String[] args) throws Exception {
-        MySqlSource<String> mySqlSource = MySqlSource.<String>builder()
-                .hostname("localhost")
-                .port(3306)
-                .databaseList("fallen")
-                .tableList("fallen.angel", "fallen.gabriel", "fallen.girl")
-                .startupOptions(StartupOptions.initial())
-                .username("root")
-                .password("")
-                .deserializer(new JsonDebeziumDeserializationSchema())
-                .serverTimeZone("UTC")
-                .build();
-
-        StreamExecutionEnvironment env = 
StreamExecutionEnvironment.getExecutionEnvironment();
-        env.enableCheckpointing(3000);
-
-        env.fromSource(mySqlSource, WatermarkStrategy.noWatermarks(), "MySQL 
CDC Source")
-                .uid("sql-source-uid")
-                .setParallelism(1)
-                .print()
-                .setParallelism(1);
-
-        env.execute();
-    }
-}
diff --git a/tools/mig-test/datastream/datastream-3.4-SNAPSHOT/.gitignore 
b/tools/mig-test/datastream/datastream-3.4-SNAPSHOT/.gitignore
deleted file mode 100644
index 5ff6309b7..000000000
--- a/tools/mig-test/datastream/datastream-3.4-SNAPSHOT/.gitignore
+++ /dev/null
@@ -1,38 +0,0 @@
-target/
-!.mvn/wrapper/maven-wrapper.jar
-!**/src/main/**/target/
-!**/src/test/**/target/
-
-### IntelliJ IDEA ###
-.idea/modules.xml
-.idea/jarRepositories.xml
-.idea/compiler.xml
-.idea/libraries/
-*.iws
-*.iml
-*.ipr
-
-### Eclipse ###
-.apt_generated
-.classpath
-.factorypath
-.project
-.settings
-.springBeans
-.sts4-cache
-
-### NetBeans ###
-/nbproject/private/
-/nbbuild/
-/dist/
-/nbdist/
-/.nb-gradle/
-build/
-!**/src/main/**/build/
-!**/src/test/**/build/
-
-### VS Code ###
-.vscode/
-
-### Mac OS ###
-.DS_Store
\ No newline at end of file
diff --git a/tools/mig-test/datastream/datastream-3.4-SNAPSHOT/pom.xml 
b/tools/mig-test/datastream/datastream-3.4-SNAPSHOT/pom.xml
deleted file mode 100644
index 69d7643aa..000000000
--- a/tools/mig-test/datastream/datastream-3.4-SNAPSHOT/pom.xml
+++ /dev/null
@@ -1,255 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0";
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>org.apache.flink</groupId>
-    <artifactId>datastream-job</artifactId>
-    <version>3.4-SNAPSHOT</version>
-    <packaging>jar</packaging>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <flink.version>1.19.2</flink.version>
-        <flink.cdc.version>3.4-SNAPSHOT</flink.cdc.version>
-        <debezium.version>1.9.8.Final</debezium.version>
-        <scala.binary.version>2.12</scala.binary.version>
-        <slf4j.version>2.0.13</slf4j.version>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-streaming-java</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-runtime</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-java</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-connector-base</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-clients</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            
<artifactId>flink-table-planner_${scala.binary.version}</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-table-runtime</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-core</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-table-common</artifactId>
-            <version>${flink.version}</version>
-        </dependency>
-        <!-- Checked the dependencies of the Flink project and below is a 
feasible reference. -->
-        <!--  Use flink shaded guava  18.0-13.0 for flink 1.13   -->
-        <!--  Use flink shaded guava  30.1.1-jre-14.0 for flink-1.14  -->
-        <!--  Use flink shaded guava  30.1.1-jre-15.0 for flink-1.15  -->
-        <!--  Use flink shaded guava  30.1.1-jre-15.0 for flink-1.16  -->
-        <!--  Use flink shaded guava  30.1.1-jre-16.1 for flink-1.17  -->
-        <!--  Use flink shaded guava  31.1-jre-17.0   for flink-1.18  -->
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-shaded-guava</artifactId>
-            <version>31.1-jre-17.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-connector-debezium</artifactId>
-            <version>${flink.cdc.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-cdc-base</artifactId>
-            <version>${flink.cdc.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-connector-mysql-cdc</artifactId>
-            <version>${flink.cdc.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>io.debezium</groupId>
-            <artifactId>debezium-connector-mysql</artifactId>
-            <version>${debezium.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-            <version>${slf4j.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <version>${slf4j.version}</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>${maven.compiler.source}</source>
-                    <target>${maven.compiler.target}</target>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-shade-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>shade-flink</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>shade</goal>
-                        </goals>
-                        <configuration>
-                            <!-- Shading test jar have bug in some previous 
version, so close this configuration here,
-                            see 
https://issues.apache.org/jira/browse/MSHADE-284 -->
-                            <shadeTestJar>false</shadeTestJar>
-                            
<shadedArtifactAttached>false</shadedArtifactAttached>
-                            
<createDependencyReducedPom>true</createDependencyReducedPom>
-                            <dependencyReducedPomLocation>
-                                
${project.basedir}/target/dependency-reduced-pom.xml
-                            </dependencyReducedPomLocation>
-                            <filters combine.children="append">
-                                <filter>
-                                    <artifact>*:*</artifact>
-                                    <excludes>
-                                        <exclude>module-info.class</exclude>
-                                        <exclude>META-INF/*.SF</exclude>
-                                        <exclude>META-INF/*.DSA</exclude>
-                                        <exclude>META-INF/*.RSA</exclude>
-                                    </excludes>
-                                </filter>
-                            </filters>
-                            <artifactSet>
-                                <includes>
-                                    <include>io.debezium:debezium-api</include>
-                                    
<include>io.debezium:debezium-embedded</include>
-                                    
<include>io.debezium:debezium-core</include>
-                                    
<include>io.debezium:debezium-ddl-parser</include>
-                                    
<include>io.debezium:debezium-connector-mysql</include>
-                                    
<include>org.apache.flink:flink-connector-debezium</include>
-                                    
<include>org.apache.flink:flink-connector-mysql-cdc</include>
-                                    <include>org.antlr:antlr4-runtime</include>
-                                    <include>org.apache.kafka:*</include>
-                                    
<include>mysql:mysql-connector-java</include>
-                                    
<include>com.zendesk:mysql-binlog-connector-java</include>
-                                    <include>com.fasterxml.*:*</include>
-                                    <include>com.google.guava:*</include>
-                                    
<include>com.esri.geometry:esri-geometry-api</include>
-                                    <include>com.zaxxer:HikariCP</include>
-                                    <!--  Include fixed version 
30.1.1-jre-16.0 of flink shaded guava  -->
-                                    
<include>org.apache.flink:flink-shaded-guava</include>
-                                </includes>
-                            </artifactSet>
-                            <relocations>
-                                <relocation>
-                                    <pattern>org.apache.kafka</pattern>
-                                    <shadedPattern>
-                                        
org.apache.flink.cdc.connectors.shaded.org.apache.kafka
-                                    </shadedPattern>
-                                </relocation>
-                                <relocation>
-                                    <pattern>org.antlr</pattern>
-                                    <shadedPattern>
-                                        
org.apache.flink.cdc.connectors.shaded.org.antlr
-                                    </shadedPattern>
-                                </relocation>
-                                <relocation>
-                                    <pattern>com.fasterxml</pattern>
-                                    <shadedPattern>
-                                        
org.apache.flink.cdc.connectors.shaded.com.fasterxml
-                                    </shadedPattern>
-                                </relocation>
-                                <relocation>
-                                    <pattern>com.google</pattern>
-                                    <shadedPattern>
-                                        
org.apache.flink.cdc.connectors.shaded.com.google
-                                    </shadedPattern>
-                                </relocation>
-                                <relocation>
-                                    <pattern>com.esri.geometry</pattern>
-                                    
<shadedPattern>org.apache.flink.cdc.connectors.shaded.com.esri.geometry</shadedPattern>
-                                </relocation>
-                                <relocation>
-                                    <pattern>com.zaxxer</pattern>
-                                    <shadedPattern>
-                                        
org.apache.flink.cdc.connectors.shaded.com.zaxxer
-                                    </shadedPattern>
-                                </relocation>
-                            </relocations>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-    <profiles>
-        <profile>
-            <id>java-8-target</id>
-            <activation>
-                <jdk>[1.8,11)</jdk>
-            </activation>
-            <properties>
-                <java.version>1.8</java.version>
-                <maven.compiler.source>${java.version}</maven.compiler.source>
-                <maven.compiler.target>${java.version}</maven.compiler.target>
-            </properties>
-        </profile>
-        <profile>
-            <id>java-11-target</id>
-            <activation>
-                <jdk>[11,)</jdk>
-            </activation>
-            <properties>
-                <java.version>11</java.version>
-                <maven.compiler.source>${java.version}</maven.compiler.source>
-                <maven.compiler.target>${java.version}</maven.compiler.target>
-            </properties>
-        </profile>
-    </profiles>
-</project>
\ No newline at end of file
diff --git 
a/tools/mig-test/datastream/datastream-3.4-SNAPSHOT/src/main/java/DataStreamJob.java
 
b/tools/mig-test/datastream/datastream-3.4-SNAPSHOT/src/main/java/DataStreamJob.java
deleted file mode 100644
index bfaa2d529..000000000
--- 
a/tools/mig-test/datastream/datastream-3.4-SNAPSHOT/src/main/java/DataStreamJob.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import org.apache.flink.cdc.connectors.mysql.source.MySqlSource;
-import org.apache.flink.cdc.connectors.mysql.table.StartupOptions;
-import org.apache.flink.cdc.debezium.JsonDebeziumDeserializationSchema;
-import org.apache.flink.api.common.eventtime.WatermarkStrategy;
-import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
-
-public class DataStreamJob {
-
-    public static void main(String[] args) throws Exception {
-        MySqlSource<String> mySqlSource = MySqlSource.<String>builder()
-                .hostname("localhost")
-                .port(3306)
-                .databaseList("fallen")
-                .tableList("fallen.angel", "fallen.gabriel", "fallen.girl")
-                .startupOptions(StartupOptions.initial())
-                .username("root")
-                .password("")
-                .deserializer(new JsonDebeziumDeserializationSchema())
-                .serverTimeZone("UTC")
-                .build();
-
-        StreamExecutionEnvironment env = 
StreamExecutionEnvironment.getExecutionEnvironment();
-        env.enableCheckpointing(3000);
-
-        env.fromSource(mySqlSource, WatermarkStrategy.noWatermarks(), "MySQL 
CDC Source")
-                .uid("sql-source-uid")
-                .setParallelism(1)
-                .print()
-                .setParallelism(1);
-
-        env.execute();
-    }
-}
diff --git a/tools/mig-test/datastream/run_migration_test.rb 
b/tools/mig-test/datastream/run_migration_test.rb
deleted file mode 100644
index 951d043da..000000000
--- a/tools/mig-test/datastream/run_migration_test.rb
+++ /dev/null
@@ -1,124 +0,0 @@
-#!/usr/bin/env ruby
-# frozen_string_literal: true
-
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-require 'pathname'
-require 'securerandom'
-
-WAITING_SECONDS = 20
-FLINK_HOME = ENV['FLINK_HOME']
-throw 'Unspecified `FLINK_HOME` environment variable.' if FLINK_HOME.nil?
-FLINK_HOME = Pathname.new(FLINK_HOME).realpath
-
-SOURCE_PORT = 3306
-DATABASE_NAME = 'fallen'
-TABLES = ['girl'].freeze
-
-def exec_sql_source(sql)
-  `mysql -h 127.0.0.1 -P#{SOURCE_PORT} -uroot --skip-password -e "USE 
#{DATABASE_NAME}; #{sql}"`
-end
-
-def extract_job_id(output)
-  current_job_id = output.split("\n").filter { _1.start_with?('Job has been 
submitted with JobID ') }.first&.split&.last
-  raise StandardError, "Failed to submit Flink job. Output: #{output}" unless 
current_job_id&.length == 32
-  current_job_id
-end
-
-def put_mystery_data(mystery)
-  exec_sql_source("REPLACE INTO girl(id, name) VALUES (17, '#{mystery}');")
-end
-
-def ensure_mystery_data(mystery)
-  raise StandardError, 'Failed to get specific mystery string' unless `cat 
#{FLINK_HOME}/log/*.out`.include? mystery
-end
-
-puts '   Waiting for source to start up...'
-next until exec_sql_source("SELECT '1';") == "1\n1\n"
-
-def test_migration_chore(from_version, to_version)
-  TABLES.each do |table_name|
-    exec_sql_source("DROP TABLE IF EXISTS #{table_name};")
-    exec_sql_source("CREATE TABLE #{table_name} (ID INT NOT NULL, NAME 
VARCHAR(17), PRIMARY KEY (ID));")
-  end
-
-  # Clear previous savepoints and logs
-  `rm -rf savepoints`
-
-  old_output = `#{FLINK_HOME}/bin/flink run -p 1 -c DataStreamJob --detached 
datastream-#{from_version}/target/datastream-job-#{from_version}.jar`
-  old_job_id = extract_job_id(old_output)
-
-  puts "Submitted job at #{from_version} as #{old_job_id}"
-
-  random_string_1 = SecureRandom.hex(8)
-  put_mystery_data random_string_1
-  sleep WAITING_SECONDS
-  ensure_mystery_data random_string_1
-
-  puts `#{FLINK_HOME}/bin/flink stop --savepointPath #{Dir.pwd}/savepoints 
#{old_job_id}`
-  savepoint_file = `ls savepoints`.split("\n").last
-  new_output = `#{FLINK_HOME}/bin/flink run --fromSavepoint 
#{Dir.pwd}/savepoints/#{savepoint_file} -p 1 -c DataStreamJob --detached 
datastream-#{to_version}/target/datastream-job-#{to_version}.jar`
-  new_job_id = extract_job_id(new_output)
-
-  puts "Submitted job at #{to_version} as #{new_job_id}"
-  random_string_2 = SecureRandom.hex(8)
-  put_mystery_data random_string_2
-  sleep WAITING_SECONDS
-  ensure_mystery_data random_string_2
-  puts `#{FLINK_HOME}/bin/flink cancel #{new_job_id}`
-  true
-end
-
-def test_migration(from_version, to_version)
-  puts "➡️ [MIGRATION] Testing migration from #{from_version} to 
#{to_version}..."
-  puts "   with Flink #{FLINK_HOME}..."
-  begin
-    result = test_migration_chore from_version, to_version
-    if result
-      puts "✅ [MIGRATION] Successfully migrated from #{from_version} to 
#{to_version}!"
-    else
-      puts "❌ [MIGRATION] Failed to migrate from #{from_version} to 
#{to_version}..."
-    end
-    result
-  rescue => e
-    puts "❌ [MIGRATION] Failed to migrate from #{from_version} to 
#{to_version}...", e
-    false
-  end
-end
-
-version_list = %w[3.2.0 3.2.1 3.3.0 3.4-SNAPSHOT]
-@failures = []
-
-new_version = version_list.last
-
-version_list.each do |old_version|
-  puts "-> Testing migrating from #{old_version} to latest snapshot."
-  puts 'Restarting cluster...'
-  `#{FLINK_HOME}/bin/stop-cluster.sh`
-  `rm -rf #{FLINK_HOME}/log/flink-*.out`
-  puts 'Stopped cluster.'
-  `#{FLINK_HOME}/bin/start-cluster.sh`
-  puts 'Started cluster.'
-
-  result = test_migration old_version, new_version
-  @failures << [old_version, new_version] unless result
-end
-
-if @failures.any?
-  puts 'Some migration to snapshot version tests failed. Details: '
-  puts @failures
-  abort 'Some migration to snapshot version tests failed.'
-end
diff --git a/tools/mig-test/misc/patch_flink_conf.rb 
b/tools/mig-test/misc/patch_flink_conf.rb
deleted file mode 100644
index 6241a52c3..000000000
--- a/tools/mig-test/misc/patch_flink_conf.rb
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/usr/bin/env ruby
-# frozen_string_literal: true
-
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-FLINK_HOME = ENV['FLINK_HOME']
-throw 'Unspecified `FLINK_HOME` environment variable.' if FLINK_HOME.nil?
-
-EXTRA_CONF = <<~EXTRACONF
-
-taskmanager.numberOfTaskSlots: 10
-parallelism.default: 4
-execution.checkpointing.interval: 300
-EXTRACONF
-
-if File.file?("#{FLINK_HOME}/conf/flink-conf.yaml")
-  File.write("#{FLINK_HOME}/conf/flink-conf.yaml", EXTRA_CONF, mode: 'a+')
-else
-  File.write("#{FLINK_HOME}/conf/config.yaml", EXTRA_CONF, mode: 'a+')
-end
-
-# MySQL connector is not provided
-`wget 
https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.27/mysql-connector-java-8.0.27.jar
 -O #{FLINK_HOME}/lib/mysql-connector-java-8.0.27.jar`
\ No newline at end of file
diff --git a/tools/mig-test/prepare_libs.rb b/tools/mig-test/prepare_libs.rb
deleted file mode 100644
index 4aceac8d0..000000000
--- a/tools/mig-test/prepare_libs.rb
+++ /dev/null
@@ -1,100 +0,0 @@
-#!/usr/bin/env ruby
-# frozen_string_literal: true
-
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-CDC_SOURCE_HOME = ENV['CDC_SOURCE_HOME']
-throw 'Unspecified `CDC_SOURCE_HOME` environment variable.' if 
CDC_SOURCE_HOME.nil?
-
-Dir.chdir(__dir__)
-
-def gen_version(tag)
-  {
-    tar: 
"https://dlcdn.apache.org/flink/flink-cdc-#{tag}/flink-cdc-#{tag}-bin.tar.gz";,
-    connectors: %W[
-      
https://repo1.maven.org/maven2/org/apache/flink/flink-cdc-pipeline-connector-mysql/#{tag}/flink-cdc-pipeline-connector-mysql-#{tag}.jar
-      
https://repo1.maven.org/maven2/org/apache/flink/flink-cdc-pipeline-connector-doris/#{tag}/flink-cdc-pipeline-connector-doris-#{tag}.jar
-      
https://repo1.maven.org/maven2/org/apache/flink/flink-cdc-pipeline-connector-starrocks/#{tag}/flink-cdc-pipeline-connector-starrocks-#{tag}.jar
-      
https://repo1.maven.org/maven2/org/apache/flink/flink-cdc-pipeline-connector-kafka/#{tag}/flink-cdc-pipeline-connector-kafka-#{tag}.jar
-      
https://repo1.maven.org/maven2/org/apache/flink/flink-cdc-pipeline-connector-paimon/#{tag}/flink-cdc-pipeline-connector-paimon-#{tag}.jar
-      
https://repo1.maven.org/maven2/org/apache/flink/flink-cdc-pipeline-connector-values/#{tag}/flink-cdc-pipeline-connector-values-#{tag}.jar
-    ]
-  }
-end
-
-RELEASED_VERSIONS = {
-  '3.2.0': gen_version('3.2.0'),
-  '3.2.1': gen_version('3.2.1'),
-  '3.3.0': gen_version('3.3.0'),
-}.freeze
-
-HEAD_VERSION = '3.4-SNAPSHOT'
-
-def download_or_get(link)
-  `mkdir -p cache`
-  file_name = "cache/#{File.basename(link)}"
-  if File.exist? file_name
-    puts "#{file_name} exists, skip download"
-    return file_name
-  end
-  `wget #{link} -O #{file_name}`
-  file_name
-end
-
-M2_REPO = '~/.m2/repository/org/apache/flink'
-FILES = %w[
-  dist
-  pipeline-connector-kafka
-  pipeline-connector-mysql
-  pipeline-connector-doris
-  pipeline-connector-paimon
-  pipeline-connector-starrocks
-  pipeline-connector-values
-].freeze
-def download_released
-  `rm -rf cdc-versions`
-  RELEASED_VERSIONS.each do |version, links|
-    `mkdir -p cdc-versions/#{version}`
-    file_name = download_or_get(links[:tar])
-    `tar --strip-components=1 -xzvf #{file_name} -C cdc-versions/#{version}`
-    links[:connectors].each do |link|
-      jar_file_name = download_or_get(link)
-      `cp #{jar_file_name} cdc-versions/#{version}/lib/`
-    end
-  end
-end
-
-def compile_snapshot(version)
-  puts "Trying to create #{version}"
-  `mkdir -p cdc-versions/#{version}/lib`
-  `cp -r #{CDC_SOURCE_HOME}/flink-cdc-dist/src/main/flink-cdc-bin/* 
cdc-versions/#{version}/`
-
-  puts 'Compiling snapshot version...'
-  puts `cd #{CDC_SOURCE_HOME} && mvn clean install -DskipTests`
-
-  FILES.each do |lib|
-    if lib == 'dist'
-      `cp 
#{CDC_SOURCE_HOME}/flink-cdc-#{lib}/target/flink-cdc-#{lib}-#{version}.jar 
cdc-versions/#{version}/lib/`
-    else
-      `cp 
#{CDC_SOURCE_HOME}/flink-cdc-connect/flink-cdc-pipeline-connectors/flink-cdc-#{lib}/target/flink-cdc-#{lib}-#{version}.jar
 cdc-versions/#{version}/lib/`
-    end
-  end
-end
-
-download_released
-compile_snapshot HEAD_VERSION
-
-puts 'Done'
diff --git a/tools/mig-test/run_migration_test.rb 
b/tools/mig-test/run_migration_test.rb
deleted file mode 100644
index 07dba0180..000000000
--- a/tools/mig-test/run_migration_test.rb
+++ /dev/null
@@ -1,146 +0,0 @@
-#!/usr/bin/env ruby
-# frozen_string_literal: true
-
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-require 'pathname'
-require 'securerandom'
-
-WAITING_SECONDS = 20
-FLINK_HOME = ENV['FLINK_HOME']
-throw 'Unspecified `FLINK_HOME` environment variable.' if FLINK_HOME.nil?
-FLINK_HOME = Pathname.new(FLINK_HOME).realpath
-
-SOURCE_PORT = 3306
-DATABASE_NAME = 'fallen'
-TABLES = ['girl'].freeze
-
-def exec_sql_source(sql)
-  `mysql -h 127.0.0.1 -P#{SOURCE_PORT} -uroot --skip-password -e "USE 
#{DATABASE_NAME}; #{sql}"`
-end
-
-def put_mystery_data(mystery)
-  exec_sql_source("REPLACE INTO girl(id, name) VALUES (17, '#{mystery}');")
-end
-
-def ensure_mystery_data(mystery)
-  raise StandardError, 'Failed to get specific mystery string' unless `cat 
#{FLINK_HOME}/log/*.out`.include? mystery
-end
-
-def extract_job_id(output)
-  current_job_id = output.split("\n").filter { _1.start_with?('Job ID: ') 
}.first&.split&.last
-  raise StandardError, "Failed to submit Flink job. Output: #{output}" unless 
current_job_id&.length == 32
-  current_job_id
-end
-
-puts '   Waiting for source to start up...'
-next until exec_sql_source("SELECT '1';") == "1\n1\n"
-
-def test_migration_chore(from_version, to_version)
-  TABLES.each do |table_name|
-    exec_sql_source("DROP TABLE IF EXISTS #{table_name};")
-    exec_sql_source("CREATE TABLE #{table_name} (ID INT NOT NULL, NAME 
VARCHAR(17), PRIMARY KEY (ID));")
-  end
-
-  # Clear previous savepoints and logs
-  `rm -rf savepoints`
-
-  # Prepare for current YAML file
-  yaml_job_template_file = 'conf/pipeline-route.yaml'
-  yaml_job_file = 'conf/temp.yaml'
-  yaml_content = 
File.open(yaml_job_template_file).read.gsub('${PIPELINE_NAME}',
-                                                             "Pipeline 
Migration Job (#{from_version} -> #{to_version})")
-  File.write(yaml_job_file, yaml_content)
-
-  # Submit current pipeline job file
-  submit_job_output = `bash ./cdc-versions/#{from_version}/bin/flink-cdc.sh 
--flink-home #{FLINK_HOME} #{yaml_job_file}`
-  puts "   #{submit_job_output}"
-  current_job_id = extract_job_id(submit_job_output)
-
-  puts "   Current Job ID: #{current_job_id}"
-
-  # Verify if data sync works
-  random_string_1 = SecureRandom.hex(8)
-  put_mystery_data random_string_1
-  sleep WAITING_SECONDS
-  ensure_mystery_data random_string_1
-
-  # Stop current job and create a savepoint
-  puts `#{FLINK_HOME}/bin/flink stop --savepointPath #{Dir.pwd}/savepoints 
#{current_job_id}`
-  savepoint_file = `ls savepoints`.split("\n").last
-
-  # Migrate to a newer CDC version
-  puts "   Submitting CDC jobs at #{to_version}..."
-  submit_job_output = `bash ./cdc-versions/#{to_version}/bin/flink-cdc.sh 
--from-savepoint #{Dir.pwd}/savepoints/#{savepoint_file} 
--allow-nonRestored-state --flink-home #{FLINK_HOME} #{yaml_job_file}`
-  puts "#{submit_job_output}"
-  new_job_id = extract_job_id(submit_job_output)
-
-  puts "   Upgraded Job ID: #{new_job_id}"
-
-  # Verify if data sync works
-  puts "Submitted job at #{to_version} as #{new_job_id}"
-  random_string_2 = SecureRandom.hex(8)
-  put_mystery_data random_string_2
-  sleep WAITING_SECONDS
-  ensure_mystery_data random_string_2
-  puts `#{FLINK_HOME}/bin/flink cancel #{new_job_id}`
-  true
-end
-
-def test_migration(from_version, to_version)
-  puts "➡️ [MIGRATION] Testing migration from #{from_version} to 
#{to_version}..."
-  puts "   with Flink #{FLINK_HOME}..."
-  begin
-    result = test_migration_chore from_version, to_version
-    if result
-      puts "✅ [MIGRATION] Successfully migrated from #{from_version} to 
#{to_version}!"
-    else
-      puts "❌ [MIGRATION] Failed to migrate from #{from_version} to 
#{to_version}..."
-    end
-    result
-  rescue => e
-    puts "❌ [MIGRATION] Failed to migrate from #{from_version} to 
#{to_version}...", e
-    false
-  end
-end
-
-version_list = case ARGV[0]
-               when '1.19.2' then %w[3.2.0 3.2.1 3.3.0 3.4-SNAPSHOT]
-               when '1.20.1' then %w[3.2.1 3.3.0 3.4-SNAPSHOT]
-               else throw "Unknown Flink target version: #{ARGV[0]}."
-               end
-
-@failures = []
-
-new_version = version_list.last
-
-version_list.each do |old_version|
-  puts "-> Testing migrating from #{old_version} to latest snapshot."
-  puts 'Restarting cluster...'
-  `#{FLINK_HOME}/bin/stop-cluster.sh`
-  puts 'Stopped cluster.'
-  `#{FLINK_HOME}/bin/start-cluster.sh`
-  puts 'Started cluster.'
-
-  result = test_migration old_version, new_version
-  @failures << "#{old_version} => #{new_version}" unless result
-end
-
-if @failures.any?
-  puts 'Some migration to snapshot version tests failed. Details: '
-  puts @failures
-  abort 'Some migration to snapshot version tests failed.'
-end


Reply via email to