This is an automated email from the ASF dual-hosted git repository.
wanghailin pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/seatunnel.git
The following commit(s) were added to refs/heads/dev by this push:
new 81de0a69cc [Improve][CI]skip ui module, improve module dependent
(#8225)
81de0a69cc is described below
commit 81de0a69cc907f8ee638210c2332be5328c0ccab
Author: zhangdonghao <[email protected]>
AuthorDate: Tue Dec 17 18:45:53 2024 +0800
[Improve][CI]skip ui module, improve module dependent (#8225)
---
.github/workflows/backend.yml | 81 ++++++-----
.../seatunnel/hudi/catalog/HudiCatalog.java | 4 +-
.../cdc/oracle/OracleCDCWithSchemaChangeIT.java | 13 +-
.../connector-hudi-e2e/pom.xml | 11 +-
.../hudi/HudiSeatunnelS3MultiTableIT.java | 148 ++++++++++-----------
.../connector/hudi/HudiSparkS3MultiTableIT.java | 145 +++++++++-----------
.../seatunnel/e2e/connector/hudi/MinIoUtils.java | 100 ++++++++++++++
.../connector-paimon-e2e/pom.xml | 8 --
.../e2e/connector/paimon/PaimonWithS3IT.java | 8 +-
.../connector-starrocks-e2e/pom.xml | 6 -
.../engine/e2e/console/FakeSourceToConsoleIT.java | 4 +-
.../FakeSourceToConsoleWithEventReportIT.java | 4 +-
...r.java => ClusterSeaTunnelEngineContainer.java} | 2 +-
.../seatunnel/engine/e2e/JobClientJobProxyIT.java | 2 +-
.../apache/seatunnel/engine/e2e/JobRestoreIT.java | 2 +-
...ontainer.java => SeaTunnelEngineContainer.java} | 5 +-
.../seatunnel/engine/e2e/SinkPlaceholderIT.java | 2 +-
.../engine/e2e/classloader/ClassLoaderITBase.java | 4 +-
.../seatunnel/engine/e2e/joblog/JobLogIT.java | 4 +-
seatunnel-engine/seatunnel-engine-ui/pom.xml | 2 +
tools/update_modules_check/update_modules_check.py | 8 ++
21 files changed, 326 insertions(+), 237 deletions(-)
diff --git a/.github/workflows/backend.yml b/.github/workflows/backend.yml
index 7c07d3dab6..8f720d9503 100644
--- a/.github/workflows/backend.yml
+++ b/.github/workflows/backend.yml
@@ -284,7 +284,7 @@ jobs:
max_attempts: 3
retry_on: error
command: |
- ./mvnw -B install -DskipTests -D"maven.test.skip"=true
-D"maven.javadoc.skip"=true -D"license.skipAddThirdParty"
+ ./mvnw -B install -DskipTests -D"maven.test.skip"=true
-D"maven.javadoc.skip"=true -D"license.skipAddThirdParty" -D"skip.ui"=true
- name: Check Dependencies Licenses
run: tools/dependencies/checkLicense.sh
@@ -326,22 +326,18 @@ jobs:
steps:
- name: Checkout PR
uses: actions/checkout@v3
-
- uses: actions/setup-node@v2
with:
node-version: 20.x
-
- name: Install Dependencies and Check Code Style
run: |
cd seatunnel-engine/seatunnel-engine-ui/
npm install
npm run lint
-
- name: Run unit tests
run: |
cd seatunnel-engine/seatunnel-engine-ui/
npm run test:unit
-
- name: Build SeaTunnel UI
run: |
cd seatunnel-engine/seatunnel-engine-ui/
@@ -366,7 +362,7 @@ jobs:
cache: 'maven'
- name: run all modules unit test
run: |
- ./mvnw -B -T 1 clean verify -DskipUT=false -DskipIT=true
-D"license.skipAddThirdParty"=true --no-snapshot-updates
+ ./mvnw -B -T 1 clean verify -DskipUT=false -DskipIT=true
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates
env:
MAVEN_OPTS: -Xmx4096m
@@ -393,8 +389,8 @@ jobs:
run: |
sub_modules=`python
tools/update_modules_check/update_modules_check.py sub_update_it_module
${{needs.changes.outputs.it-modules}} 8 0`
if [ ! -z $sub_modules ]; then
- echo $sub_modules
- ./mvnw -T 1 -B verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl $sub_modules -am
-Pci
+ echo $sub_modules
+ ./mvnw -T 1 -B verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates -pl
$sub_modules -am -Pci
else
echo "sub modules is empty, skipping"
fi
@@ -425,7 +421,7 @@ jobs:
sub_modules=`python
tools/update_modules_check/update_modules_check.py sub_update_it_module
${{needs.changes.outputs.it-modules}} 8 1`
if [ ! -z $sub_modules ]; then
echo $sub_modules
- ./mvnw -T 1 -B verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl $sub_modules -am
-Pci
+ ./mvnw -T 1 -B verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates -pl
$sub_modules -am -Pci
else
echo "sub modules is empty, skipping"
fi
@@ -456,7 +452,7 @@ jobs:
sub_modules=`python
tools/update_modules_check/update_modules_check.py sub_update_it_module
${{needs.changes.outputs.it-modules}} 8 2`
if [ ! -z $sub_modules ]; then
echo $sub_modules
- ./mvnw -T 1 -B verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl $sub_modules -am
-Pci
+ ./mvnw -T 1 -B verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates -pl
$sub_modules -am -Pci
else
echo "sub modules is empty, skipping"
fi
@@ -487,7 +483,7 @@ jobs:
sub_modules=`python
tools/update_modules_check/update_modules_check.py sub_update_it_module
${{needs.changes.outputs.it-modules}} 8 3`
if [ ! -z $sub_modules ]; then
echo $sub_modules
- ./mvnw -T 1 -B verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl $sub_modules -am
-Pci
+ ./mvnw -T 1 -B verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates -pl
$sub_modules -am -Pci
else
echo "sub modules is empty, skipping"
fi
@@ -517,7 +513,7 @@ jobs:
sub_modules=`python
tools/update_modules_check/update_modules_check.py sub_update_it_module
${{needs.changes.outputs.it-modules}} 8 4`
if [ ! -z $sub_modules ]; then
echo $sub_modules
- ./mvnw -T 1 -B verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl $sub_modules -am
-Pci
+ ./mvnw -T 1 -B verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates -pl
$sub_modules -am -Pci
else
echo "sub modules is empty, skipping"
fi
@@ -547,7 +543,7 @@ jobs:
sub_modules=`python
tools/update_modules_check/update_modules_check.py sub_update_it_module
${{needs.changes.outputs.it-modules}} 8 5`
if [ ! -z $sub_modules ]; then
echo $sub_modules
- ./mvnw -T 1 -B verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl $sub_modules -am
-Pci
+ ./mvnw -T 1 -B verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates -pl
$sub_modules -am -Pci
else
echo "sub modules is empty, skipping"
fi
@@ -577,7 +573,7 @@ jobs:
sub_modules=`python
tools/update_modules_check/update_modules_check.py sub_update_it_module
${{needs.changes.outputs.it-modules}} 8 6`
if [ ! -z $sub_modules ]; then
echo $sub_modules
- ./mvnw -T 1 -B verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl $sub_modules -am
-Pci
+ ./mvnw -T 1 -B verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates -pl
$sub_modules -am -Pci
else
echo "sub modules is empty, skipping"
fi
@@ -608,7 +604,7 @@ jobs:
sub_modules=`python
tools/update_modules_check/update_modules_check.py sub_update_it_module
${{needs.changes.outputs.it-modules}} 8 7`
if [ ! -z $sub_modules ]; then
echo $sub_modules
- ./mvnw -T 1 -B verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl $sub_modules -am
-Pci
+ ./mvnw -T 1 -B verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates -pl
$sub_modules -am -Pci
else
echo "sub modules is empty, skipping"
fi
@@ -639,6 +635,7 @@ jobs:
./mvnw -T 1 -B verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl
:connector-seatunnel-e2e-base,:connector-console-seatunnel-e2e -am -Pci
env:
MAVEN_OPTS: -Xmx4096m
+
engine-k8s-it:
needs: [ changes, sanity-check ]
if: needs.changes.outputs.api == 'true' ||
contains(needs.changes.outputs.it-modules, 'seatunnel-engine-k8s-e2e')
@@ -668,10 +665,11 @@ jobs:
cache: 'maven'
- name: run seatunnel zeta on k8s test
run: |
- ./mvnw -T 1 -B verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl
:seatunnel-engine-k8s-e2e -am -Pci
+ ./mvnw -T 1 -B verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates -pl
:seatunnel-engine-k8s-e2e -am -Pci
env:
MAVEN_OPTS: -Xmx4096m
KUBECONFIG: /etc/rancher/k3s/k3s.yaml
+
transform-v2-it-part-1:
needs: [ changes, sanity-check ]
if: needs.changes.outputs.api == 'true' || needs.changes.outputs.engine ==
'true'
@@ -696,7 +694,7 @@ jobs:
run: tools/github/free_disk_space.sh
- name: run transform-v2 integration test (part-1)
run: |
- ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl
:seatunnel-transforms-v2-e2e-part-1 -am -Pci
+ ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates -pl
:seatunnel-transforms-v2-e2e-part-1 -am -Pci
env:
MAVEN_OPTS: -Xmx4096m
@@ -724,7 +722,7 @@ jobs:
run: tools/github/free_disk_space.sh
- name: run transform-v2 integration test (part-2)
run: |
- ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl
:seatunnel-transforms-v2-e2e-part-2 -am -Pci
+ ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates -pl
:seatunnel-transforms-v2-e2e-part-2 -am -Pci
env:
MAVEN_OPTS: -Xmx4096m
@@ -755,7 +753,7 @@ jobs:
./mvnw help:evaluate -Dexpression=project.modules -q -DforceStdout
-pl :seatunnel-connector-v2-e2e >> /tmp/sub_module.txt
sub_modules=`python
tools/update_modules_check/update_modules_check.py sub /tmp/sub_module.txt`
run_it_modules=`python
tools/update_modules_check/update_modules_check.py sub_it_module "$sub_modules"
7 0`
- ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl $run_it_modules
-am -Pci
+ ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates -pl
$run_it_modules -am -Pci
env:
MAVEN_OPTS: -Xmx4096m
@@ -786,7 +784,7 @@ jobs:
./mvnw help:evaluate -Dexpression=project.modules -q -DforceStdout
-pl :seatunnel-connector-v2-e2e >> /tmp/sub_module.txt
sub_modules=`python
tools/update_modules_check/update_modules_check.py sub /tmp/sub_module.txt`
run_it_modules=`python
tools/update_modules_check/update_modules_check.py sub_it_module "$sub_modules"
7 1`
- ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl $run_it_modules
-am -Pci
+ ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates -pl
$run_it_modules -am -Pci
env:
MAVEN_OPTS: -Xmx4096m
@@ -817,7 +815,7 @@ jobs:
./mvnw help:evaluate -Dexpression=project.modules -q -DforceStdout
-pl :seatunnel-connector-v2-e2e >> /tmp/sub_module.txt
sub_modules=`python
tools/update_modules_check/update_modules_check.py sub /tmp/sub_module.txt`
run_it_modules=`python
tools/update_modules_check/update_modules_check.py sub_it_module "$sub_modules"
7 2`
- ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl $run_it_modules
-am -Pci
+ ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates -pl
$run_it_modules -am -Pci
env:
MAVEN_OPTS: -Xmx4096m
@@ -848,7 +846,7 @@ jobs:
./mvnw help:evaluate -Dexpression=project.modules -q -DforceStdout
-pl :seatunnel-connector-v2-e2e >> /tmp/sub_module.txt
sub_modules=`python
tools/update_modules_check/update_modules_check.py sub /tmp/sub_module.txt`
run_it_modules=`python
tools/update_modules_check/update_modules_check.py sub_it_module "$sub_modules"
7 3`
- ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl $run_it_modules
-am -Pci
+ ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates -pl
$run_it_modules -am -Pci
env:
MAVEN_OPTS: -Xmx4096m
@@ -879,7 +877,7 @@ jobs:
./mvnw help:evaluate -Dexpression=project.modules -q -DforceStdout
-pl :seatunnel-connector-v2-e2e >> /tmp/sub_module.txt
sub_modules=`python
tools/update_modules_check/update_modules_check.py sub /tmp/sub_module.txt`
run_it_modules=`python
tools/update_modules_check/update_modules_check.py sub_it_module "$sub_modules"
7 4`
- ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl $run_it_modules
-am -Pci
+ ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates -pl
$run_it_modules -am -Pci
env:
MAVEN_OPTS: -Xmx4096m
@@ -910,7 +908,7 @@ jobs:
./mvnw help:evaluate -Dexpression=project.modules -q -DforceStdout
-pl :seatunnel-connector-v2-e2e >> /tmp/sub_module.txt
sub_modules=`python
tools/update_modules_check/update_modules_check.py sub /tmp/sub_module.txt`
run_it_modules=`python
tools/update_modules_check/update_modules_check.py sub_it_module "$sub_modules"
7 5`
- ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl $run_it_modules
-am -Pci
+ ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates -pl
$run_it_modules -am -Pci
env:
MAVEN_OPTS: -Xmx4096m
@@ -941,7 +939,7 @@ jobs:
./mvnw help:evaluate -Dexpression=project.modules -q -DforceStdout
-pl :seatunnel-connector-v2-e2e >> /tmp/sub_module.txt
sub_modules=`python
tools/update_modules_check/update_modules_check.py sub /tmp/sub_module.txt`
run_it_modules=`python
tools/update_modules_check/update_modules_check.py sub_it_module "$sub_modules"
7 6`
- ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl $run_it_modules
-am -Pci
+ ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates -pl
$run_it_modules -am -Pci
env:
MAVEN_OPTS: -Xmx4096m
@@ -969,7 +967,7 @@ jobs:
run: tools/github/free_disk_space.sh
- name: run jdbc connectors integration test (part-1)
run: |
- ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl
:connector-jdbc-e2e-part-1 -am -Pci
+ ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates -pl
:connector-jdbc-e2e-part-1 -am -Pci
env:
MAVEN_OPTS: -Xmx4096m
@@ -997,7 +995,7 @@ jobs:
run: tools/github/free_disk_space.sh
- name: run jdbc connectors integration test (part-2)
run: |
- ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl
:connector-jdbc-e2e-part-2 -am -Pci
+ ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates -pl
:connector-jdbc-e2e-part-2 -am -Pci
env:
MAVEN_OPTS: -Xmx4096m
@@ -1025,7 +1023,7 @@ jobs:
run: tools/github/free_disk_space.sh
- name: run jdbc connectors integration test (part-3)
run: |
- ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl
:connector-jdbc-e2e-part-3 -am -Pci
+ ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates -pl
:connector-jdbc-e2e-part-3 -am -Pci
env:
MAVEN_OPTS: -Xmx4096m
@@ -1053,7 +1051,7 @@ jobs:
run: tools/github/free_disk_space.sh
- name: run jdbc connectors integration test (part-4)
run: |
- ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl
:connector-jdbc-e2e-part-4 -am -Pci
+ ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates -pl
:connector-jdbc-e2e-part-4 -am -Pci
env:
MAVEN_OPTS: -Xmx4096m
@@ -1081,7 +1079,7 @@ jobs:
run: tools/github/free_disk_space.sh
- name: run jdbc connectors integration test (part-5)
run: |
- ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl
:connector-jdbc-e2e-part-5 -am -Pci
+ ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates -pl
:connector-jdbc-e2e-part-5 -am -Pci
env:
MAVEN_OPTS: -Xmx4096m
@@ -1109,7 +1107,7 @@ jobs:
run: tools/github/free_disk_space.sh
- name: run jdbc connectors integration test (part-6)
run: |
- ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl
:connector-jdbc-e2e-part-6 -am -Pci
+ ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates -pl
:connector-jdbc-e2e-part-6 -am -Pci
env:
MAVEN_OPTS: -Xmx4096m
@@ -1137,7 +1135,7 @@ jobs:
run: tools/github/free_disk_space.sh
- name: run jdbc connectors integration test (part-7)
run: |
- ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl
:connector-jdbc-e2e-part-7 -am -Pci
+ ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates -pl
:connector-jdbc-e2e-part-7 -am -Pci
env:
MAVEN_OPTS: -Xmx4096m
@@ -1162,7 +1160,7 @@ jobs:
run: tools/github/free_disk_space.sh
- name: run kudu connector integration test
run: |
- ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl
:connector-kudu-e2e -am -Pci
+ ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates -pl
:connector-kudu-e2e -am -Pci
env:
MAVEN_OPTS: -Xmx4096m
@@ -1187,7 +1185,7 @@ jobs:
run: tools/github/free_disk_space.sh
- name: run amazonsqs connector integration test
run: |
- ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl
:connector-amazonsqs-e2e -am -Pci
+ ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates -pl
:connector-amazonsqs-e2e -am -Pci
env:
MAVEN_OPTS: -Xmx4096m
@@ -1212,7 +1210,7 @@ jobs:
run: tools/github/free_disk_space.sh
- name: run kafka connector integration test
run: |
- ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl
:connector-kafka-e2e -am -Pci
+ ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates -pl
:connector-kafka-e2e -am -Pci
env:
MAVEN_OPTS: -Xmx4096m
@@ -1237,7 +1235,7 @@ jobs:
run: tools/github/free_disk_space.sh
- name: run rocket connector integration test
run: |
- ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl
:connector-rocketmq-e2e -am -Pci
+ ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates -pl
:connector-rocketmq-e2e -am -Pci
env:
MAVEN_OPTS: -Xmx4096m
@@ -1263,11 +1261,10 @@ jobs:
run: tools/github/free_disk_space.sh
- name: run doris connector integration test
run: |
- ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl
:connector-doris-e2e -am -Pci
+ ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates -pl
:connector-doris-e2e -am -Pci
env:
MAVEN_OPTS: -Xmx4096m
-
paimon-connector-it:
needs: [ changes, sanity-check ]
if: needs.changes.outputs.api == 'true' ||
contains(needs.changes.outputs.it-modules, 'connector-paimon-e2e')
@@ -1289,7 +1286,7 @@ jobs:
run: tools/github/free_disk_space.sh
- name: run paimon connector integration test
run: |
- ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl
:connector-paimon-e2e -am -Pci
+ ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates -pl
:connector-paimon-e2e -am -Pci
env:
MAVEN_OPTS: -Xmx4096m
@@ -1344,7 +1341,7 @@ jobs:
run: tools/github/free_disk_space.sh
- name: run file local connector integration test
run: |
- ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl
:connector-file-local-e2e -am -Pci
+ ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates -pl
:connector-file-local-e2e -am -Pci
env:
MAVEN_OPTS: -Xmx4096m
@@ -1369,7 +1366,7 @@ jobs:
run: tools/github/free_disk_space.sh
- name: run file sftp connector integration test
run: |
- ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl
:connector-file-sftp-e2e -am -Pci
+ ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates -pl
:connector-file-sftp-e2e -am -Pci
env:
MAVEN_OPTS: -Xmx4096m
@@ -1394,6 +1391,6 @@ jobs:
run: tools/github/free_disk_space.sh
- name: run redis connector integration test
run: |
- ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl
:connector-redis-e2e -am -Pci
+ ./mvnw -B -T 1 verify -DskipUT=true -DskipIT=false
-D"license.skipAddThirdParty"=true -D"skip.ui"=true --no-snapshot-updates -pl
:connector-redis-e2e -am -Pci
env:
MAVEN_OPTS: -Xmx4096m
diff --git
a/seatunnel-connectors-v2/connector-hudi/src/main/java/org/apache/seatunnel/connectors/seatunnel/hudi/catalog/HudiCatalog.java
b/seatunnel-connectors-v2/connector-hudi/src/main/java/org/apache/seatunnel/connectors/seatunnel/hudi/catalog/HudiCatalog.java
index 0d238c193d..63a02ff7fb 100644
---
a/seatunnel-connectors-v2/connector-hudi/src/main/java/org/apache/seatunnel/connectors/seatunnel/hudi/catalog/HudiCatalog.java
+++
b/seatunnel-connectors-v2/connector-hudi/src/main/java/org/apache/seatunnel/connectors/seatunnel/hudi/catalog/HudiCatalog.java
@@ -100,7 +100,9 @@ public class HudiCatalog implements Catalog {
@Override
public void close() throws CatalogException {
try {
- fs.close();
+ if (fs != null) {
+ fs.close();
+ }
} catch (Exception e) {
log.info("Hudi catalog close error.", e);
}
diff --git
a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-cdc-oracle-e2e/src/test/java/org/apache/seatunnel/connectors/seatunnel/cdc/oracle/OracleCDCWithSchemaChangeIT.java
b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-cdc-oracle-e2e/src/test/java/org/apache/seatunnel/connectors/seatunnel/cdc/oracle/OracleCDCWithSchemaChangeIT.java
index 3502b54757..a6a1ed920d 100644
---
a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-cdc-oracle-e2e/src/test/java/org/apache/seatunnel/connectors/seatunnel/cdc/oracle/OracleCDCWithSchemaChangeIT.java
+++
b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-cdc-oracle-e2e/src/test/java/org/apache/seatunnel/connectors/seatunnel/cdc/oracle/OracleCDCWithSchemaChangeIT.java
@@ -37,6 +37,7 @@ import org.apache.seatunnel.e2e.common.container.EngineType;
import org.apache.seatunnel.e2e.common.container.TestContainer;
import org.apache.seatunnel.e2e.common.junit.DisabledOnContainer;
import org.apache.seatunnel.e2e.common.junit.TestContainerExtension;
+import org.apache.seatunnel.e2e.common.util.JobIdGenerator;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.Assertions;
@@ -65,6 +66,7 @@ import java.util.stream.Stream;
import static org.awaitility.Awaitility.await;
import static org.awaitility.Awaitility.with;
import static org.awaitility.Durations.TWO_SECONDS;
+import static org.testcontainers.shaded.org.awaitility.Awaitility.given;
@Slf4j
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
@@ -192,17 +194,24 @@ public class OracleCDCWithSchemaChangeIT extends
AbstractOracleCDCIT implements
dropTable(ORACLE_CONTAINER.getJdbcUrl(), SCEHMA_NAME, SOURCE_TABLE1);
dropTable(ORACLE_CONTAINER.getJdbcUrl(), SCEHMA_NAME, SOURCE_TABLE1 +
"_SINK");
createAndInitialize("full_types", ADMIN_USER, ADMIN_PWD);
+ String jobId = String.valueOf(JobIdGenerator.newJobId());
CompletableFuture.runAsync(
() -> {
try {
-
container.executeJob("/oraclecdc_to_mysql_with_schema_change.conf");
+
container.executeJob("/oraclecdc_to_mysql_with_schema_change.conf", jobId);
} catch (Exception e) {
log.error("Commit task exception :" + e.getMessage());
throw new RuntimeException(e);
}
});
- Thread.sleep(10000L);
+ given().pollDelay(10, TimeUnit.SECONDS)
+ .await()
+ .pollDelay(5000L, TimeUnit.MILLISECONDS)
+ .untilAsserted(
+ () -> {
+ Assertions.assertEquals("RUNNING",
container.getJobStatus(jobId));
+ });
assertSchemaEvolution(
ORACLE_CONTAINER.getJdbcUrl(),
diff --git
a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-hudi-e2e/pom.xml
b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-hudi-e2e/pom.xml
index 7fe8cc8523..ac49a5bec2 100644
--- a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-hudi-e2e/pom.xml
+++ b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-hudi-e2e/pom.xml
@@ -59,11 +59,16 @@
<dependency>
<groupId>org.apache.seatunnel</groupId>
- <artifactId>connector-seatunnel-e2e-base</artifactId>
+ <artifactId>seatunnel-hadoop3-3.1.4-uber</artifactId>
<version>${project.version}</version>
- <classifier>tests</classifier>
- <type>test-jar</type>
+ <classifier>optional</classifier>
<scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.avro</groupId>
+ <artifactId>avro</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
diff --git
a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-hudi-e2e/src/test/java/org/apache/seatunnel/e2e/connector/hudi/HudiSeatunnelS3MultiTableIT.java
b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-hudi-e2e/src/test/java/org/apache/seatunnel/e2e/connector/hudi/HudiSeatunnelS3MultiTableIT.java
index 237fd100d2..64451bb278 100644
---
a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-hudi-e2e/src/test/java/org/apache/seatunnel/e2e/connector/hudi/HudiSeatunnelS3MultiTableIT.java
+++
b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-hudi-e2e/src/test/java/org/apache/seatunnel/e2e/connector/hudi/HudiSeatunnelS3MultiTableIT.java
@@ -18,8 +18,8 @@
package org.apache.seatunnel.e2e.connector.hudi;
import org.apache.seatunnel.common.utils.FileUtils;
+import org.apache.seatunnel.e2e.common.container.seatunnel.SeaTunnelContainer;
import org.apache.seatunnel.e2e.common.util.ContainerUtil;
-import org.apache.seatunnel.engine.e2e.SeaTunnelContainer;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.LocalFileSystem;
@@ -32,16 +32,13 @@ import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
import org.testcontainers.containers.Container;
import org.testcontainers.containers.MinIOContainer;
import io.minio.BucketExistsArgs;
-import io.minio.DownloadObjectArgs;
-import io.minio.ListObjectsArgs;
import io.minio.MakeBucketArgs;
import io.minio.MinioClient;
-import io.minio.Result;
-import io.minio.messages.Item;
import lombok.extern.slf4j.Slf4j;
import java.io.IOException;
@@ -51,6 +48,7 @@ import java.util.concurrent.TimeUnit;
import static org.awaitility.Awaitility.given;
@Slf4j
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
public class HudiSeatunnelS3MultiTableIT extends SeaTunnelContainer {
private static final String MINIO_DOCKER_IMAGE =
"minio/minio:RELEASE.2024-06-13T22-53-53Z";
@@ -88,7 +86,6 @@ public class HudiSeatunnelS3MultiTableIT extends
SeaTunnelContainer {
String s3URL = container.getS3URL();
- // configuringClient
minioClient =
MinioClient.builder()
.endpoint(s3URL)
@@ -111,11 +108,13 @@ public class HudiSeatunnelS3MultiTableIT extends
SeaTunnelContainer {
"wget -P "
+ SEATUNNEL_HOME
+ "lib "
+ + " --timeout=180 "
+ AWS_SDK_DOWNLOAD
+ " &&"
+ "wget -P "
+ SEATUNNEL_HOME
+ "lib "
+ + " --timeout=180 "
+ HADOOP_AWS_DOWNLOAD
+ " &&"
+ ContainerUtil.adaptPathForWin(
@@ -132,90 +131,81 @@ public class HudiSeatunnelS3MultiTableIT extends
SeaTunnelContainer {
}
}
+ @Override
+ protected boolean isIssueWeAlreadyKnow(String threadName) {
+ return super.isIssueWeAlreadyKnow(threadName)
+ // hudi with s3
+ || threadName.startsWith("s3a-transfer");
+ }
+
@Test
public void testS3MultiWrite() throws IOException, InterruptedException {
copyFileToContainer("/hudi/core-site.xml",
"/tmp/seatunnel/config/core-site.xml");
- Container.ExecResult textWriteResult =
executeSeaTunnelJob("/hudi/s3_fake_to_hudi.conf");
+ Container.ExecResult textWriteResult =
executeJob("/hudi/s3_fake_to_hudi.conf");
Assertions.assertEquals(0, textWriteResult.getExitCode());
Configuration configuration = new Configuration();
configuration.set("fs.defaultFS", LocalFileSystem.DEFAULT_FS);
- given().ignoreExceptions()
+ given().pollDelay(10, TimeUnit.SECONDS)
+ .pollInterval(1, TimeUnit.SECONDS)
.await()
- .atMost(60000, TimeUnit.MILLISECONDS)
+ .atMost(300, TimeUnit.SECONDS)
.untilAsserted(
() -> {
// copy hudi to local
- Path inputPath1 =
- downloadNewestCommitFile(DATABASE_1 + "/"
+ TABLE_NAME_1 + "/");
- Path inputPath2 =
- downloadNewestCommitFile(DATABASE_2 + "/"
+ TABLE_NAME_2 + "/");
- ParquetReader<Group> reader1 =
- ParquetReader.builder(new
GroupReadSupport(), inputPath1)
- .withConf(configuration)
- .build();
- ParquetReader<Group> reader2 =
- ParquetReader.builder(new
GroupReadSupport(), inputPath2)
- .withConf(configuration)
- .build();
-
- long rowCount1 = 0;
- long rowCount2 = 0;
- // Read data and count rows
- while (reader1.read() != null) {
- rowCount1++;
- }
- // Read data and count rows
- while (reader2.read() != null) {
- rowCount2++;
+ Path inputPath1 = null;
+ Path inputPath2 = null;
+ try {
+ inputPath1 =
+ new Path(
+
MinIoUtils.downloadNewestCommitFile(
+ minioClient,
+ BUCKET,
+ String.format(
+ "%s/%s/",
DATABASE_1, TABLE_NAME_1),
+ DOWNLOAD_PATH));
+ log.info(
+ "download from s3 success, the parquet
file is at: {}",
+ inputPath1);
+ inputPath2 =
+ new Path(
+
MinIoUtils.downloadNewestCommitFile(
+ minioClient,
+ BUCKET,
+ String.format(
+ "%s/%s/",
DATABASE_2, TABLE_NAME_2),
+ DOWNLOAD_PATH));
+ log.info(
+ "download from s3 success, the parquet
file is at: {}",
+ inputPath2);
+ ParquetReader<Group> reader1 =
+ ParquetReader.builder(new
GroupReadSupport(), inputPath1)
+ .withConf(configuration)
+ .build();
+ ParquetReader<Group> reader2 =
+ ParquetReader.builder(new
GroupReadSupport(), inputPath2)
+ .withConf(configuration)
+ .build();
+
+ long rowCount1 = 0;
+ long rowCount2 = 0;
+ // Read data and count rows
+ while (reader1.read() != null) {
+ rowCount1++;
+ }
+ // Read data and count rows
+ while (reader2.read() != null) {
+ rowCount2++;
+ }
+ Assertions.assertEquals(100, rowCount1);
+ Assertions.assertEquals(240, rowCount2);
+ } finally {
+ if (inputPath1 != null) {
+
FileUtils.deleteFile(inputPath1.toUri().getPath());
+ }
+ if (inputPath2 != null) {
+
FileUtils.deleteFile(inputPath2.toUri().getPath());
+ }
}
- FileUtils.deleteFile(inputPath1.toUri().getPath());
- FileUtils.deleteFile(inputPath2.toUri().getPath());
- Assertions.assertEquals(100, rowCount1);
- Assertions.assertEquals(240, rowCount2);
});
}
-
- public Path downloadNewestCommitFile(String pathPrefix) throws IOException
{
- Iterable<Result<Item>> listObjects =
- minioClient.listObjects(
-
ListObjectsArgs.builder().bucket(BUCKET).prefix(pathPrefix).build());
- String newestCommitFileabsolutePath = "";
- String newestCommitFileName = "";
- long newestCommitTime = 0L;
- for (Result<Item> listObject : listObjects) {
- Item item;
- try {
- item = listObject.get();
- } catch (Exception e) {
- throw new IOException("List minio file error.", e);
- }
- if (item.isDir() || !item.objectName().endsWith(".parquet")) {
- continue;
- }
- long fileCommitTime =
- Long.parseLong(
- item.objectName()
- .substring(
- item.objectName().lastIndexOf("_")
+ 1,
-
item.objectName().lastIndexOf(".parquet")));
- if (fileCommitTime > newestCommitTime) {
- newestCommitFileabsolutePath = item.objectName();
- newestCommitFileName =
- newestCommitFileabsolutePath.substring(
- item.objectName().lastIndexOf("/") + 1);
- newestCommitTime = fileCommitTime;
- }
- }
- try {
- minioClient.downloadObject(
- DownloadObjectArgs.builder()
- .bucket(BUCKET)
- .object(newestCommitFileabsolutePath)
- .filename(DOWNLOAD_PATH + newestCommitFileName)
- .build());
- } catch (Exception e) {
- log.error("Download file from minio error.");
- }
- return new Path(DOWNLOAD_PATH + newestCommitFileName);
- }
}
diff --git
a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-hudi-e2e/src/test/java/org/apache/seatunnel/e2e/connector/hudi/HudiSparkS3MultiTableIT.java
b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-hudi-e2e/src/test/java/org/apache/seatunnel/e2e/connector/hudi/HudiSparkS3MultiTableIT.java
index f91f340f3c..8b598d443b 100644
---
a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-hudi-e2e/src/test/java/org/apache/seatunnel/e2e/connector/hudi/HudiSparkS3MultiTableIT.java
+++
b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-hudi-e2e/src/test/java/org/apache/seatunnel/e2e/connector/hudi/HudiSparkS3MultiTableIT.java
@@ -32,21 +32,18 @@ import org.apache.parquet.example.data.Group;
import org.apache.parquet.hadoop.ParquetReader;
import org.apache.parquet.hadoop.example.GroupReadSupport;
-import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.TestTemplate;
import org.testcontainers.containers.Container;
import org.testcontainers.containers.MinIOContainer;
import io.minio.BucketExistsArgs;
-import io.minio.DownloadObjectArgs;
-import io.minio.ListObjectsArgs;
import io.minio.MakeBucketArgs;
import io.minio.MinioClient;
-import io.minio.Result;
-import io.minio.messages.Item;
import lombok.extern.slf4j.Slf4j;
+import okhttp3.OkHttpClient;
import java.io.IOException;
import java.util.concurrent.TimeUnit;
@@ -72,7 +69,7 @@ public class HudiSparkS3MultiTableIT extends TestSuiteBase
implements TestResour
private static final String TABLE_NAME_2 = "st_test_2";
private static final String DOWNLOAD_PATH = "/tmp/seatunnel/";
- @BeforeEach
+ @BeforeAll
@Override
public void startUp() throws Exception {
container =
@@ -86,11 +83,15 @@ public class HudiSparkS3MultiTableIT extends TestSuiteBase
implements TestResour
String s3URL = container.getS3URL();
+ OkHttpClient.Builder builder = new OkHttpClient.Builder();
+ builder.connectTimeout(10, TimeUnit.SECONDS);
+ builder.readTimeout(10, TimeUnit.SECONDS);
// configuringClient
minioClient =
MinioClient.builder()
.endpoint(s3URL)
.credentials(container.getUserName(),
container.getPassword())
+ .httpClient(builder.build())
.build();
// create bucket
@@ -100,7 +101,7 @@ public class HudiSparkS3MultiTableIT extends TestSuiteBase
implements TestResour
Assertions.assertTrue(minioClient.bucketExists(existsArgs));
}
- @AfterEach
+ @AfterAll
@Override
public void tearDown() throws Exception {
if (container != null) {
@@ -121,82 +122,68 @@ public class HudiSparkS3MultiTableIT extends
TestSuiteBase implements TestResour
Configuration configuration = new Configuration();
configuration.set("fs.defaultFS", LocalFileSystem.DEFAULT_FS);
given().ignoreExceptions()
+ .pollDelay(5, TimeUnit.SECONDS)
+ .pollInterval(2, TimeUnit.SECONDS)
.await()
- .atMost(60000, TimeUnit.MILLISECONDS)
+ .atMost(300, TimeUnit.SECONDS)
.untilAsserted(
() -> {
// copy hudi to local
- Path inputPath1 =
- downloadNewestCommitFile(DATABASE_1 + "/"
+ TABLE_NAME_1 + "/");
- Path inputPath2 =
- downloadNewestCommitFile(DATABASE_2 + "/"
+ TABLE_NAME_2 + "/");
- ParquetReader<Group> reader1 =
- ParquetReader.builder(new
GroupReadSupport(), inputPath1)
- .withConf(configuration)
- .build();
- ParquetReader<Group> reader2 =
- ParquetReader.builder(new
GroupReadSupport(), inputPath2)
- .withConf(configuration)
- .build();
-
- long rowCount1 = 0;
- long rowCount2 = 0;
- // Read data and count rows
- while (reader1.read() != null) {
- rowCount1++;
- }
- // Read data and count rows
- while (reader2.read() != null) {
- rowCount2++;
+ // copy hudi to local
+ Path inputPath1 = null;
+ Path inputPath2 = null;
+ try {
+ inputPath1 =
+ new Path(
+
MinIoUtils.downloadNewestCommitFile(
+ minioClient,
+ BUCKET,
+ String.format(
+ "%s/%s/",
DATABASE_1, TABLE_NAME_1),
+ DOWNLOAD_PATH));
+ log.info(
+ "download from s3 success, the parquet
file is at: {}",
+ inputPath1);
+ inputPath2 =
+ new Path(
+
MinIoUtils.downloadNewestCommitFile(
+ minioClient,
+ BUCKET,
+ String.format(
+ "%s/%s/",
DATABASE_2, TABLE_NAME_2),
+ DOWNLOAD_PATH));
+ log.info(
+ "download from s3 success, the parquet
file is at: {}",
+ inputPath2);
+ ParquetReader<Group> reader1 =
+ ParquetReader.builder(new
GroupReadSupport(), inputPath1)
+ .withConf(configuration)
+ .build();
+ ParquetReader<Group> reader2 =
+ ParquetReader.builder(new
GroupReadSupport(), inputPath2)
+ .withConf(configuration)
+ .build();
+
+ long rowCount1 = 0;
+ long rowCount2 = 0;
+ // Read data and count rows
+ while (reader1.read() != null) {
+ rowCount1++;
+ }
+ // Read data and count rows
+ while (reader2.read() != null) {
+ rowCount2++;
+ }
+ Assertions.assertEquals(100, rowCount1);
+ Assertions.assertEquals(240, rowCount2);
+ } finally {
+ if (inputPath1 != null) {
+
FileUtils.deleteFile(inputPath1.toUri().getPath());
+ }
+ if (inputPath2 != null) {
+
FileUtils.deleteFile(inputPath2.toUri().getPath());
+ }
}
- FileUtils.deleteFile(inputPath1.toUri().getPath());
- FileUtils.deleteFile(inputPath2.toUri().getPath());
- Assertions.assertEquals(100, rowCount1);
- Assertions.assertEquals(240, rowCount2);
});
}
-
- public Path downloadNewestCommitFile(String pathPrefix) throws IOException
{
- Iterable<Result<Item>> listObjects =
- minioClient.listObjects(
-
ListObjectsArgs.builder().bucket(BUCKET).prefix(pathPrefix).build());
- String newestCommitFileabsolutePath = "";
- String newestCommitFileName = "";
- long newestCommitTime = 0L;
- for (Result<Item> listObject : listObjects) {
- Item item;
- try {
- item = listObject.get();
- } catch (Exception e) {
- throw new IOException("List minio file error.", e);
- }
- if (item.isDir() || !item.objectName().endsWith(".parquet")) {
- continue;
- }
- long fileCommitTime =
- Long.parseLong(
- item.objectName()
- .substring(
- item.objectName().lastIndexOf("_")
+ 1,
-
item.objectName().lastIndexOf(".parquet")));
- if (fileCommitTime > newestCommitTime) {
- newestCommitFileabsolutePath = item.objectName();
- newestCommitFileName =
- newestCommitFileabsolutePath.substring(
- item.objectName().lastIndexOf("/") + 1);
- newestCommitTime = fileCommitTime;
- }
- }
- try {
- minioClient.downloadObject(
- DownloadObjectArgs.builder()
- .bucket(BUCKET)
- .object(newestCommitFileabsolutePath)
- .filename(DOWNLOAD_PATH + newestCommitFileName)
- .build());
- } catch (Exception e) {
- log.error("Download file from minio error.");
- }
- return new Path(DOWNLOAD_PATH + newestCommitFileName);
- }
}
diff --git
a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-hudi-e2e/src/test/java/org/apache/seatunnel/e2e/connector/hudi/MinIoUtils.java
b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-hudi-e2e/src/test/java/org/apache/seatunnel/e2e/connector/hudi/MinIoUtils.java
new file mode 100644
index 0000000000..9cdfdc531e
--- /dev/null
+++
b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-hudi-e2e/src/test/java/org/apache/seatunnel/e2e/connector/hudi/MinIoUtils.java
@@ -0,0 +1,100 @@
+/*
+ * 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.
+ */
+
+package org.apache.seatunnel.e2e.connector.hudi;
+
+import io.minio.GetObjectArgs;
+import io.minio.ListObjectsArgs;
+import io.minio.MinioClient;
+import io.minio.Result;
+import io.minio.messages.Item;
+import lombok.extern.slf4j.Slf4j;
+
+import java.io.FilterInputStream;
+import java.io.OutputStream;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+@Slf4j
+public class MinIoUtils {
+
+ public static String downloadNewestCommitFile(
+ MinioClient minioClient, String bucketName, String pathPrefix,
String downloadPath) {
+ Iterable<Result<Item>> listObjects =
+ minioClient.listObjects(
+
ListObjectsArgs.builder().bucket(bucketName).prefix(pathPrefix).build());
+ long newestCommitTime = 0L;
+ String objectPath = null;
+ for (Result<Item> listObject : listObjects) {
+ Item item = null;
+ try {
+ item = listObject.get();
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ if (item.isDir() || !item.objectName().endsWith(".parquet")) {
+ continue;
+ }
+ long fileCommitTime =
+ Long.parseLong(
+ item.objectName()
+ .substring(
+ item.objectName().lastIndexOf("_")
+ 1,
+
item.objectName().lastIndexOf(".parquet")));
+ if (fileCommitTime > newestCommitTime) {
+ objectPath = item.objectName();
+ }
+ }
+ log.info("download object path: {}", objectPath);
+ assert objectPath != null;
+ Path path =
+ Paths.get(
+ createDir(downloadPath)
+ +
objectPath.substring(objectPath.lastIndexOf("/") + 1));
+ try (FilterInputStream inputStream =
+ minioClient.getObject(
+ GetObjectArgs.builder()
+ .bucket(bucketName)
+ .object(objectPath)
+ .build());
+ OutputStream outputStream = Files.newOutputStream(path)) {
+ byte[] buffer = new byte[1024];
+ int bytesRead;
+ while ((bytesRead = inputStream.read(buffer)) != -1) {
+ outputStream.write(buffer, 0, bytesRead);
+ }
+ } catch (Exception e) {
+ log.error("download error \n", e);
+ throw new RuntimeException(e);
+ }
+ log.info("download success path: {}", path);
+ return path.toFile().getAbsolutePath();
+ }
+
+ private static String createDir(String downloadPath) {
+ Path path = Paths.get(downloadPath);
+ if (!Files.exists(path)) {
+ try {
+ Files.createDirectories(path);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+ return downloadPath;
+ }
+}
diff --git
a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-paimon-e2e/pom.xml
b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-paimon-e2e/pom.xml
index c1ce438be3..3fc619d225 100644
--- a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-paimon-e2e/pom.xml
+++ b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-paimon-e2e/pom.xml
@@ -57,14 +57,6 @@
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>org.apache.seatunnel</groupId>
- <artifactId>connector-seatunnel-e2e-base</artifactId>
- <version>${project.version}</version>
- <classifier>tests</classifier>
- <type>test-jar</type>
- <scope>test</scope>
- </dependency>
<dependency>
<groupId>org.apache.seatunnel</groupId>
<artifactId>seatunnel-hadoop3-3.1.4-uber</artifactId>
diff --git
a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-paimon-e2e/src/test/java/org/apache/seatunnel/e2e/connector/paimon/PaimonWithS3IT.java
b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-paimon-e2e/src/test/java/org/apache/seatunnel/e2e/connector/paimon/PaimonWithS3IT.java
index 2df1a5e49b..a618aad8b3 100644
---
a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-paimon-e2e/src/test/java/org/apache/seatunnel/e2e/connector/paimon/PaimonWithS3IT.java
+++
b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-paimon-e2e/src/test/java/org/apache/seatunnel/e2e/connector/paimon/PaimonWithS3IT.java
@@ -17,13 +17,14 @@
package org.apache.seatunnel.e2e.connector.paimon;
+import org.apache.seatunnel.e2e.common.container.seatunnel.SeaTunnelContainer;
import org.apache.seatunnel.e2e.common.util.ContainerUtil;
-import org.apache.seatunnel.engine.e2e.SeaTunnelContainer;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
import org.testcontainers.containers.Container;
import org.testcontainers.containers.MinIOContainer;
@@ -34,6 +35,7 @@ import io.minio.MinioClient;
import java.nio.file.Paths;
import java.util.Map;
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
public class PaimonWithS3IT extends SeaTunnelContainer {
private static final String MINIO_DOCKER_IMAGE =
"minio/minio:RELEASE.2024-06-13T22-53-53Z";
@@ -121,10 +123,10 @@ public class PaimonWithS3IT extends SeaTunnelContainer {
@Test
public void testFaceCDCSinkPaimonWithS3Filesystem() throws Exception {
- Container.ExecResult execResult =
executeSeaTunnelJob("/fake_to_paimon_with_s3.conf");
+ Container.ExecResult execResult =
executeJob("/fake_to_paimon_with_s3.conf");
Assertions.assertEquals(0, execResult.getExitCode());
- Container.ExecResult readResult =
executeSeaTunnelJob("/paimon_with_s3_to_assert.conf");
+ Container.ExecResult readResult =
executeJob("/paimon_with_s3_to_assert.conf");
Assertions.assertEquals(0, readResult.getExitCode());
}
}
diff --git
a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-starrocks-e2e/pom.xml
b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-starrocks-e2e/pom.xml
index 05829ea893..7f11b08d8b 100644
--- a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-starrocks-e2e/pom.xml
+++ b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-starrocks-e2e/pom.xml
@@ -55,12 +55,6 @@
<type>test-jar</type>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>org.apache.seatunnel</groupId>
- <artifactId>connector-cdc-mysql-e2e</artifactId>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
<dependency>
<groupId>org.apache.seatunnel</groupId>
<artifactId>connector-assert</artifactId>
diff --git
a/seatunnel-e2e/seatunnel-engine-e2e/connector-console-seatunnel-e2e/src/test/java/org/apache/seatunnel/engine/e2e/console/FakeSourceToConsoleIT.java
b/seatunnel-e2e/seatunnel-engine-e2e/connector-console-seatunnel-e2e/src/test/java/org/apache/seatunnel/engine/e2e/console/FakeSourceToConsoleIT.java
index 832be6fc18..c63982cbbf 100644
---
a/seatunnel-e2e/seatunnel-engine-e2e/connector-console-seatunnel-e2e/src/test/java/org/apache/seatunnel/engine/e2e/console/FakeSourceToConsoleIT.java
+++
b/seatunnel-e2e/seatunnel-engine-e2e/connector-console-seatunnel-e2e/src/test/java/org/apache/seatunnel/engine/e2e/console/FakeSourceToConsoleIT.java
@@ -17,7 +17,7 @@
package org.apache.seatunnel.engine.e2e.console;
-import org.apache.seatunnel.engine.e2e.SeaTunnelContainer;
+import org.apache.seatunnel.engine.e2e.SeaTunnelEngineContainer;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
@@ -25,7 +25,7 @@ import org.testcontainers.containers.Container;
import java.io.IOException;
-public class FakeSourceToConsoleIT extends SeaTunnelContainer {
+public class FakeSourceToConsoleIT extends SeaTunnelEngineContainer {
@Test
public void testFakeSourceToConsoleSink() throws IOException,
InterruptedException {
diff --git
a/seatunnel-e2e/seatunnel-engine-e2e/connector-console-seatunnel-e2e/src/test/java/org/apache/seatunnel/engine/e2e/console/FakeSourceToConsoleWithEventReportIT.java
b/seatunnel-e2e/seatunnel-engine-e2e/connector-console-seatunnel-e2e/src/test/java/org/apache/seatunnel/engine/e2e/console/FakeSourceToConsoleWithEventReportIT.java
index 79a4dbe1f8..e23cadfe41 100644
---
a/seatunnel-e2e/seatunnel-engine-e2e/connector-console-seatunnel-e2e/src/test/java/org/apache/seatunnel/engine/e2e/console/FakeSourceToConsoleWithEventReportIT.java
+++
b/seatunnel-e2e/seatunnel-engine-e2e/connector-console-seatunnel-e2e/src/test/java/org/apache/seatunnel/engine/e2e/console/FakeSourceToConsoleWithEventReportIT.java
@@ -21,7 +21,7 @@ import
org.apache.seatunnel.shade.com.fasterxml.jackson.databind.JsonNode;
import
org.apache.seatunnel.shade.com.fasterxml.jackson.databind.node.ArrayNode;
import org.apache.seatunnel.api.event.EventType;
-import org.apache.seatunnel.engine.e2e.SeaTunnelContainer;
+import org.apache.seatunnel.engine.e2e.SeaTunnelEngineContainer;
import org.apache.seatunnel.engine.server.event.JobEventHttpReportHandler;
import org.junit.jupiter.api.AfterAll;
@@ -52,7 +52,7 @@ import static
org.apache.seatunnel.e2e.common.util.ContainerUtil.PROJECT_ROOT_PA
import static org.awaitility.Awaitility.given;
@Slf4j
-public class FakeSourceToConsoleWithEventReportIT extends SeaTunnelContainer {
+public class FakeSourceToConsoleWithEventReportIT extends
SeaTunnelEngineContainer {
private static final int MOCK_SERVER_PORT = 1024;
private MockWebServer mockWebServer;
diff --git
a/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/ClusterSeaTunnelContainer.java
b/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/ClusterSeaTunnelEngineContainer.java
similarity index 99%
rename from
seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/ClusterSeaTunnelContainer.java
rename to
seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/ClusterSeaTunnelEngineContainer.java
index 6bdf1c2415..28b8adb41f 100644
---
a/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/ClusterSeaTunnelContainer.java
+++
b/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/ClusterSeaTunnelEngineContainer.java
@@ -53,7 +53,7 @@ import static
org.apache.seatunnel.e2e.common.util.ContainerUtil.PROJECT_ROOT_PA
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.in;
-public class ClusterSeaTunnelContainer extends SeaTunnelContainer {
+public class ClusterSeaTunnelEngineContainer extends SeaTunnelEngineContainer {
private GenericContainer<?> secondServer;
diff --git
a/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/JobClientJobProxyIT.java
b/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/JobClientJobProxyIT.java
index c44161f2a4..febdaa332d 100644
---
a/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/JobClientJobProxyIT.java
+++
b/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/JobClientJobProxyIT.java
@@ -28,7 +28,7 @@ import java.io.IOException;
import static
org.apache.seatunnel.e2e.common.util.ContainerUtil.PROJECT_ROOT_PATH;
-public class JobClientJobProxyIT extends SeaTunnelContainer {
+public class JobClientJobProxyIT extends SeaTunnelEngineContainer {
@Override
@BeforeAll
diff --git
a/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/JobRestoreIT.java
b/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/JobRestoreIT.java
index f251d9019f..9a0e94f89e 100644
---
a/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/JobRestoreIT.java
+++
b/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/JobRestoreIT.java
@@ -26,7 +26,7 @@ import java.io.IOException;
import static
org.apache.seatunnel.e2e.common.util.ContainerUtil.PROJECT_ROOT_PATH;
-public class JobRestoreIT extends SeaTunnelContainer {
+public class JobRestoreIT extends SeaTunnelEngineContainer {
@Override
@BeforeAll
diff --git
a/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/SeaTunnelContainer.java
b/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/SeaTunnelEngineContainer.java
similarity index 91%
rename from
seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/SeaTunnelContainer.java
rename to
seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/SeaTunnelEngineContainer.java
index 0b96193f0c..1d73690493 100644
---
a/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/SeaTunnelContainer.java
+++
b/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/SeaTunnelEngineContainer.java
@@ -17,6 +17,8 @@
package org.apache.seatunnel.engine.e2e;
+import org.apache.seatunnel.e2e.common.container.seatunnel.SeaTunnelContainer;
+
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.TestInstance;
@@ -28,8 +30,7 @@ import java.io.IOException;
@Slf4j
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
-public abstract class SeaTunnelContainer
- extends
org.apache.seatunnel.e2e.common.container.seatunnel.SeaTunnelContainer {
+public abstract class SeaTunnelEngineContainer extends SeaTunnelContainer {
@Override
@BeforeAll
diff --git
a/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/SinkPlaceholderIT.java
b/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/SinkPlaceholderIT.java
index eee3705452..a577b2b6bd 100644
---
a/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/SinkPlaceholderIT.java
+++
b/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/SinkPlaceholderIT.java
@@ -23,7 +23,7 @@ import org.testcontainers.containers.Container;
import java.io.IOException;
-public class SinkPlaceholderIT extends SeaTunnelContainer {
+public class SinkPlaceholderIT extends SeaTunnelEngineContainer {
@Test
public void testSinkPlaceholder() throws IOException, InterruptedException
{
diff --git
a/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/classloader/ClassLoaderITBase.java
b/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/classloader/ClassLoaderITBase.java
index 0a4e090598..a8234bd59e 100644
---
a/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/classloader/ClassLoaderITBase.java
+++
b/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/classloader/ClassLoaderITBase.java
@@ -18,7 +18,7 @@
package org.apache.seatunnel.engine.e2e.classloader;
import org.apache.seatunnel.e2e.common.util.ContainerUtil;
-import org.apache.seatunnel.engine.e2e.SeaTunnelContainer;
+import org.apache.seatunnel.engine.e2e.SeaTunnelEngineContainer;
import org.apache.seatunnel.engine.server.rest.RestConstant;
import org.awaitility.Awaitility;
@@ -41,7 +41,7 @@ import static io.restassured.RestAssured.given;
import static
org.apache.seatunnel.e2e.common.util.ContainerUtil.PROJECT_ROOT_PATH;
import static org.hamcrest.Matchers.equalTo;
-public abstract class ClassLoaderITBase extends SeaTunnelContainer {
+public abstract class ClassLoaderITBase extends SeaTunnelEngineContainer {
private static final String CONF_FILE =
"/classloader/fake_to_inmemory.conf";
diff --git
a/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/joblog/JobLogIT.java
b/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/joblog/JobLogIT.java
index 18d08b7506..37310b9fe0 100644
---
a/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/joblog/JobLogIT.java
+++
b/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/joblog/JobLogIT.java
@@ -19,7 +19,7 @@ package org.apache.seatunnel.engine.e2e.joblog;
import org.apache.seatunnel.common.constants.JobMode;
import org.apache.seatunnel.e2e.common.util.ContainerUtil;
-import org.apache.seatunnel.engine.e2e.SeaTunnelContainer;
+import org.apache.seatunnel.engine.e2e.SeaTunnelEngineContainer;
import org.apache.seatunnel.engine.server.rest.RestConstant;
import org.awaitility.Awaitility;
@@ -53,7 +53,7 @@ import static io.restassured.RestAssured.given;
import static
org.apache.seatunnel.e2e.common.util.ContainerUtil.PROJECT_ROOT_PATH;
import static org.hamcrest.Matchers.equalTo;
-public class JobLogIT extends SeaTunnelContainer {
+public class JobLogIT extends SeaTunnelEngineContainer {
private static final String CUSTOM_JOB_NAME = "test-job-log-file";
private static final String CUSTOM_JOB_NAME2 = "test-job-log-file2";
diff --git a/seatunnel-engine/seatunnel-engine-ui/pom.xml
b/seatunnel-engine/seatunnel-engine-ui/pom.xml
index 5244e73c5b..0ac5f9954b 100644
--- a/seatunnel-engine/seatunnel-engine-ui/pom.xml
+++ b/seatunnel-engine/seatunnel-engine-ui/pom.xml
@@ -35,6 +35,7 @@
<nodemodules.dir>node_modules</nodemodules.dir>
<dist.dir>../seatunnel-engine-server/src/main/resources/ui</dist.dir>
<deployed.dir>.deployed</deployed.dir>
+ <skip.ui>false</skip.ui>
</properties>
<build>
@@ -70,6 +71,7 @@
<configuration>
<nodeVersion>${build.node.version}</nodeVersion>
<npmVersion>${build.npm.version}</npmVersion>
+ <skip>${skip.ui}</skip>
</configuration>
<executions>
<execution>
diff --git a/tools/update_modules_check/update_modules_check.py
b/tools/update_modules_check/update_modules_check.py
index cef49ad4c3..7b3fddfab1 100644
--- a/tools/update_modules_check/update_modules_check.py
+++ b/tools/update_modules_check/update_modules_check.py
@@ -154,6 +154,10 @@ def get_sub_it_modules(modules, total_num, current_num):
modules_arr.remove("connector-file-local-e2e")
modules_arr.remove("connector-file-sftp-e2e")
modules_arr.remove("connector-redis-e2e")
+ if "connector-seatunnel-e2e-base" in modules_arr:
+ modules_arr.remove("connector-seatunnel-e2e-base")
+ if "connector-console-seatunnel-e2e" in modules_arr:
+ modules_arr.remove("connector-console-seatunnel-e2e")
output = ""
for i, module in enumerate(modules_arr):
if len(module) > 0 and i % int(total_num) == int(current_num):
@@ -195,6 +199,10 @@ def get_sub_update_it_modules(modules, total_num,
current_num):
module_list.remove("connector-file-sftp-e2e")
if "connector-redis-e2e" in module_list:
module_list.remove("connector-redis-e2e")
+ if "connector-seatunnel-e2e-base" in module_list:
+ module_list.remove("connector-seatunnel-e2e-base")
+ if "connector-console-seatunnel-e2e" in module_list:
+ module_list.remove("connector-console-seatunnel-e2e")
for i, module in enumerate(module_list):
if len(module) > 0 and i % int(total_num) == int(current_num):
final_modules.append(":" + module)