You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@seatunnel.apache.org by we...@apache.org on 2022/04/21 05:32:14 UTC
[incubator-seatunnel] branch dev updated: [Bug][IT]Fix it run problem in windows (#1719)
This is an automated email from the ASF dual-hosted git repository.
wenjun pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-seatunnel.git
The following commit(s) were added to refs/heads/dev by this push:
new f452f087 [Bug][IT]Fix it run problem in windows (#1719)
f452f087 is described below
commit f452f08776cf1a8cda667edd9b0c55dee886fee0
Author: tmljob <69...@users.noreply.github.com>
AuthorDate: Thu Apr 21 13:32:08 2022 +0800
[Bug][IT]Fix it run problem in windows (#1719)
* fix-it-run-problem-in-windows
* modify flink container and add a comment
---
.../java/org/apache/seatunnel/e2e/flink/FlinkContainer.java | 11 ++++++++---
.../java/org/apache/seatunnel/e2e/spark/SparkContainer.java | 11 ++++++++---
2 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/seatunnel-e2e/seatunnel-flink-e2e/src/test/java/org/apache/seatunnel/e2e/flink/FlinkContainer.java b/seatunnel-e2e/seatunnel-flink-e2e/src/test/java/org/apache/seatunnel/e2e/flink/FlinkContainer.java
index 9489acd3..04e21ccd 100644
--- a/seatunnel-e2e/seatunnel-flink-e2e/src/test/java/org/apache/seatunnel/e2e/flink/FlinkContainer.java
+++ b/seatunnel-e2e/seatunnel-flink-e2e/src/test/java/org/apache/seatunnel/e2e/flink/FlinkContainer.java
@@ -30,6 +30,7 @@ import org.testcontainers.utility.MountableFile;
import java.io.File;
import java.io.IOException;
+import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Arrays;
@@ -106,11 +107,14 @@ public abstract class FlinkContainer {
final String targetConfInContainer = Paths.get("/tmp", confFile).toString();
jobManager.copyFileToContainer(MountableFile.forHostPath(confPath), targetConfInContainer);
+ // Running IT use cases under Windows requires replacing \ with /
+ String jar = FLINK_JAR_PATH.replaceAll("\\\\", "/");
+ String conf = targetConfInContainer.replaceAll("\\\\", "/");
final List<String> command = new ArrayList<>();
command.add("flink");
command.add("run");
- command.add("-c org.apache.seatunnel.SeatunnelFlink " + FLINK_JAR_PATH);
- command.add("--config " + targetConfInContainer);
+ command.add("-c org.apache.seatunnel.SeatunnelFlink " + jar);
+ command.add("--config " + conf);
Container.ExecResult execResult = jobManager.execInContainer("bash", "-c", String.join(" ", command));
LOG.info(execResult.getStdout());
@@ -122,7 +126,8 @@ public abstract class FlinkContainer {
protected void copySeaTunnelFlinkCoreJar() {
String currentModuleHome = System.getProperty("user.dir");
- String seatunnelCoreFlinkJarPath = currentModuleHome.replace("/seatunnel-e2e/seatunnel-flink-e2e", "")
+ Path prjRootPath = Paths.get(currentModuleHome).getParent().getParent();
+ String seatunnelCoreFlinkJarPath = prjRootPath
+ "/seatunnel-core/seatunnel-core-flink/target/seatunnel-core-flink.jar";
jobManager.copyFileToContainer(MountableFile.forHostPath(seatunnelCoreFlinkJarPath), FLINK_JAR_PATH);
}
diff --git a/seatunnel-e2e/seatunnel-spark-e2e/src/test/java/org/apache/seatunnel/e2e/spark/SparkContainer.java b/seatunnel-e2e/seatunnel-spark-e2e/src/test/java/org/apache/seatunnel/e2e/spark/SparkContainer.java
index 149d848f..42305bd4 100644
--- a/seatunnel-e2e/seatunnel-spark-e2e/src/test/java/org/apache/seatunnel/e2e/spark/SparkContainer.java
+++ b/seatunnel-e2e/seatunnel-spark-e2e/src/test/java/org/apache/seatunnel/e2e/spark/SparkContainer.java
@@ -30,6 +30,7 @@ import org.testcontainers.utility.MountableFile;
import java.io.File;
import java.io.IOException;
+import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
@@ -84,6 +85,9 @@ public abstract class SparkContainer {
master.copyFileToContainer(MountableFile.forHostPath(confPath), targetConfInContainer);
// TODO: use start-seatunnel-spark.sh to run the spark job. Need to modified the SparkStarter can find the seatunnel-core-spark.jar.
+ // Running IT use cases under Windows requires replacing \ with /
+ String jar = SPARK_JAR_PATH.replaceAll("\\\\", "/");
+ String conf = targetConfInContainer.replaceAll("\\\\", "/");
final List<String> command = new ArrayList<>();
command.add("spark-submit");
command.add("--class");
@@ -94,9 +98,9 @@ public abstract class SparkContainer {
command.add("local");
command.add("--deploy-mode");
command.add("client");
- command.add(SPARK_JAR_PATH);
+ command.add(jar);
command.add("-c");
- command.add(targetConfInContainer);
+ command.add(conf);
command.add("--master");
command.add("local");
command.add("--deploy-mode");
@@ -112,8 +116,9 @@ public abstract class SparkContainer {
protected void copySeaTunnelSparkCoreJar() {
String currentModuleHome = System.getProperty("user.dir");
+ Path prjRootPath = Paths.get(currentModuleHome).getParent().getParent();
// copy jar to container
- String seatunnelCoreSparkJarPath = currentModuleHome.replace("/seatunnel-e2e/seatunnel-spark-e2e", "")
+ String seatunnelCoreSparkJarPath = prjRootPath
+ "/seatunnel-core/seatunnel-core-spark/target/seatunnel-core-spark.jar";
master.copyFileToContainer(MountableFile.forHostPath(seatunnelCoreSparkJarPath), SPARK_JAR_PATH);
}