diff --git a/dolphinscheduler-alert/dolphinscheduler-alert-server/pom.xml b/dolphinscheduler-alert/dolphinscheduler-alert-server/pom.xml index 4ced9ea953..541d97cd81 100644 --- a/dolphinscheduler-alert/dolphinscheduler-alert-server/pom.xml +++ b/dolphinscheduler-alert/dolphinscheduler-alert-server/pom.xml @@ -44,6 +44,16 @@ org.apache.dolphinscheduler dolphinscheduler-dao + + + org.apache.dolphinscheduler + dolphinscheduler-task-api + + + org.apache.dolphinscheduler + dolphinscheduler-storage-api + + diff --git a/dolphinscheduler-api-test/dolphinscheduler-api-test-case/pom.xml b/dolphinscheduler-api-test/dolphinscheduler-api-test-case/pom.xml index 5b16b3388d..4d862a6f04 100644 --- a/dolphinscheduler-api-test/dolphinscheduler-api-test-case/pom.xml +++ b/dolphinscheduler-api-test/dolphinscheduler-api-test-case/pom.xml @@ -46,5 +46,15 @@ dolphinscheduler-api dev-SNAPSHOT + + org.apache.httpcomponents + httpclient + 4.5.13 + + + org.apache.httpcomponents + httpmime + 4.5.13 + diff --git a/dolphinscheduler-api/pom.xml b/dolphinscheduler-api/pom.xml index 62c29d5f78..32482b2034 100644 --- a/dolphinscheduler-api/pom.xml +++ b/dolphinscheduler-api/pom.xml @@ -62,7 +62,7 @@ org.apache.dolphinscheduler - dolphinscheduler-task-all + dolphinscheduler-task-all-prune diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/SchedulerServiceImpl.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/SchedulerServiceImpl.java index 6cf9fe2307..ffe2de5c0e 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/SchedulerServiceImpl.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/SchedulerServiceImpl.java @@ -496,7 +496,7 @@ public class SchedulerServiceImpl extends BaseServiceImpl implements SchedulerSe if (!subProcessDefineCodes.isEmpty()) { log.info( "Need to check sub process definition state before change schedule state, subProcessDefineCodes:{}.", - org.apache.commons.lang.StringUtils.join(subProcessDefineCodes, ",")); + StringUtils.join(subProcessDefineCodes, ",")); List subProcessDefinitionList = processDefinitionMapper.queryByCodes(subProcessDefineCodes); if (subProcessDefinitionList != null && !subProcessDefinitionList.isEmpty()) { diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/WorkerGroupServiceImpl.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/WorkerGroupServiceImpl.java index e097e2ff58..9767344266 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/WorkerGroupServiceImpl.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/WorkerGroupServiceImpl.java @@ -66,7 +66,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.facebook.presto.jdbc.internal.guava.base.Strings; /** * worker group service impl @@ -249,7 +248,7 @@ public class WorkerGroupServiceImpl extends BaseServiceImpl implements WorkerGro * @return boolean */ private String checkWorkerGroupAddrList(WorkerGroup workerGroup) { - if (Strings.isNullOrEmpty(workerGroup.getAddrList())) { + if (StringUtils.isEmpty(workerGroup.getAddrList())) { return null; } Map serverMaps = registryClient.getServerMaps(RegistryNodeType.WORKER); diff --git a/dolphinscheduler-dist/src/main/assembly/dolphinscheduler-bin.xml b/dolphinscheduler-dist/src/main/assembly/dolphinscheduler-bin.xml index 6dd55fca46..e1152da947 100644 --- a/dolphinscheduler-dist/src/main/assembly/dolphinscheduler-bin.xml +++ b/dolphinscheduler-dist/src/main/assembly/dolphinscheduler-bin.xml @@ -67,6 +67,23 @@ ${basedir}/../dolphinscheduler-tools/target/tools tools + + libs/ + bin/ + dist-bin/ + + + + ${basedir}/../dolphinscheduler-tools/target/tools/libs + tools/libs + + dolphinscheduler-*.jar + spring-*.jar + + + + ${basedir}/../dolphinscheduler-tools/target/tools/dist-bin + tools/bin @@ -74,11 +91,6 @@ . - - ${basedir}/../dolphinscheduler-ui/dist - ./ui - - ${basedir}/../script bin diff --git a/dolphinscheduler-master/pom.xml b/dolphinscheduler-master/pom.xml index 8795753dda..2ed909a69f 100644 --- a/dolphinscheduler-master/pom.xml +++ b/dolphinscheduler-master/pom.xml @@ -65,12 +65,7 @@ org.apache.dolphinscheduler - dolphinscheduler-task-all - - - - org.apache.dolphinscheduler - dolphinscheduler-storage-all + dolphinscheduler-task-all-prune diff --git a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/metrics/TaskMetrics.java b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/metrics/TaskMetrics.java index 9b901d7b60..ed56c34501 100644 --- a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/metrics/TaskMetrics.java +++ b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/metrics/TaskMetrics.java @@ -24,7 +24,7 @@ import java.util.function.Supplier; import lombok.experimental.UtilityClass; -import com.facebook.presto.jdbc.internal.guava.collect.ImmutableSet; +import com.google.common.collect.ImmutableSet; import io.micrometer.core.instrument.Counter; import io.micrometer.core.instrument.Gauge; diff --git a/dolphinscheduler-storage-plugin/dolphinscheduler-storage-oss/pom.xml b/dolphinscheduler-storage-plugin/dolphinscheduler-storage-oss/pom.xml index 90fa9cb5e0..fb422e2a48 100644 --- a/dolphinscheduler-storage-plugin/dolphinscheduler-storage-oss/pom.xml +++ b/dolphinscheduler-storage-plugin/dolphinscheduler-storage-oss/pom.xml @@ -38,5 +38,10 @@ dolphinscheduler-task-api ${project.version} + + + com.aliyun.oss + aliyun-sdk-oss + diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-all-prune/pom.xml b/dolphinscheduler-task-plugin/dolphinscheduler-task-all-prune/pom.xml new file mode 100644 index 0000000000..eb251c3fb9 --- /dev/null +++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-all-prune/pom.xml @@ -0,0 +1,425 @@ + + + + 4.0.0 + + org.apache.dolphinscheduler + dolphinscheduler-task-plugin + dev-SNAPSHOT + + + dolphinscheduler-task-all-prune + + + + + org.apache.dolphinscheduler + dolphinscheduler-task-dataquality + ${project.version} + + + * + * + + + + + + org.apache.dolphinscheduler + dolphinscheduler-task-datax + ${project.version} + + + * + * + + + + + + org.apache.dolphinscheduler + dolphinscheduler-task-flink + ${project.version} + + + * + * + + + + + + org.apache.dolphinscheduler + dolphinscheduler-task-flink-stream + ${project.version} + + + * + * + + + + + + org.apache.dolphinscheduler + dolphinscheduler-task-http + ${project.version} + + + * + * + + + + + + org.apache.dolphinscheduler + dolphinscheduler-task-mr + ${project.version} + + + * + * + + + + + + org.apache.dolphinscheduler + dolphinscheduler-task-pigeon + ${project.version} + + + * + * + + + + + + org.apache.dolphinscheduler + dolphinscheduler-task-procedure + ${project.version} + + + * + * + + + + + + org.apache.dolphinscheduler + dolphinscheduler-task-python + ${project.version} + + + * + * + + + + + + org.apache.dolphinscheduler + dolphinscheduler-task-seatunnel + ${project.version} + + + * + * + + + + + + org.apache.dolphinscheduler + dolphinscheduler-task-shell + ${project.version} + + + * + * + + + + + + org.apache.dolphinscheduler + dolphinscheduler-task-spark + ${project.version} + + + * + * + + + + + + org.apache.dolphinscheduler + dolphinscheduler-task-sql + ${project.version} + + + * + * + + + + + + org.apache.dolphinscheduler + dolphinscheduler-task-sqoop + ${project.version} + + + * + * + + + + + + org.apache.dolphinscheduler + dolphinscheduler-task-emr + ${project.version} + + + * + * + + + + + + org.apache.dolphinscheduler + dolphinscheduler-task-zeppelin + ${project.version} + + + * + * + + + + + + org.apache.dolphinscheduler + dolphinscheduler-task-jupyter + ${project.version} + + + * + * + + + + + + org.apache.dolphinscheduler + dolphinscheduler-task-k8s + ${project.version} + + + * + * + + + + + + org.apache.dolphinscheduler + dolphinscheduler-task-mlflow + ${project.version} + + + * + * + + + + + + org.apache.dolphinscheduler + dolphinscheduler-task-openmldb + ${project.version} + + + * + * + + + + + + org.apache.dolphinscheduler + dolphinscheduler-task-dvc + ${project.version} + + + * + * + + + + + + org.apache.dolphinscheduler + dolphinscheduler-task-dinky + ${project.version} + + + * + * + + + + + + org.apache.dolphinscheduler + dolphinscheduler-task-java + ${project.version} + + + * + * + + + + + + org.apache.dolphinscheduler + dolphinscheduler-task-sagemaker + ${project.version} + + + * + * + + + + + + org.apache.dolphinscheduler + dolphinscheduler-task-pytorch + ${project.version} + + + * + * + + + + + + org.apache.dolphinscheduler + dolphinscheduler-task-hivecli + ${project.version} + + + * + * + + + + + + org.apache.dolphinscheduler + dolphinscheduler-task-chunjun + ${project.version} + + + * + * + + + + + + org.apache.dolphinscheduler + dolphinscheduler-task-dms + ${project.version} + + + * + * + + + + + + org.apache.dolphinscheduler + dolphinscheduler-task-datasync + ${project.version} + + + * + * + + + + + + org.apache.dolphinscheduler + dolphinscheduler-task-kubeflow + ${project.version} + + + * + * + + + + + org.apache.dolphinscheduler + dolphinscheduler-task-linkis + ${project.version} + + + * + * + + + + + org.apache.dolphinscheduler + dolphinscheduler-task-datafactory + ${project.version} + + + * + * + + + + + org.apache.dolphinscheduler + dolphinscheduler-task-remoteshell + ${project.version} + + + * + * + + + + + + diff --git a/dolphinscheduler-task-plugin/pom.xml b/dolphinscheduler-task-plugin/pom.xml index f4c1573226..ec7635e4d5 100644 --- a/dolphinscheduler-task-plugin/pom.xml +++ b/dolphinscheduler-task-plugin/pom.xml @@ -29,6 +29,7 @@ dolphinscheduler-task-all + dolphinscheduler-task-all-prune dolphinscheduler-task-api dolphinscheduler-task-shell dolphinscheduler-task-datax diff --git a/dolphinscheduler-tools/src/main/assembly/dolphinscheduler-tools.xml b/dolphinscheduler-tools/src/main/assembly/dolphinscheduler-tools.xml index 49a95d25d0..7b206da233 100644 --- a/dolphinscheduler-tools/src/main/assembly/dolphinscheduler-tools.xml +++ b/dolphinscheduler-tools/src/main/assembly/dolphinscheduler-tools.xml @@ -38,6 +38,12 @@ 0755 0755 + + ${basedir}/src/main/dist-bin + dist-bin + 0755 + 0755 + ${basedir}/../dolphinscheduler-dao/src/main/resources diff --git a/dolphinscheduler-tools/src/main/dist-bin/create-demo-processes.sh b/dolphinscheduler-tools/src/main/dist-bin/create-demo-processes.sh new file mode 100644 index 0000000000..0be4cd3a11 --- /dev/null +++ b/dolphinscheduler-tools/src/main/dist-bin/create-demo-processes.sh @@ -0,0 +1,42 @@ +#!/bin/bash +# +# 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. +# + +BIN_DIR=$(dirname $0) +DOLPHINSCHEDULER_HOME=${DOLPHINSCHEDULER_HOME:-$(cd $BIN_DIR/../..; pwd)} + +if [ "$DOCKER" != "true" ]; then + source "$DOLPHINSCHEDULER_HOME/bin/env/dolphinscheduler_env.sh" +fi + +JAVA_OPTS=${JAVA_OPTS:-"-server -Duser.timezone=${SPRING_JACKSON_TIME_ZONE} -Xms1g -Xmx1g -Xmn512m -XX:+PrintGCDetails -Xloggc:gc.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=dump.hprof"} + +# TODO temp solution to may our tarball small enough to pass ASF release policy, for more detail see: https://lists.apache.org/thread/rmp7fghlj0n7h9y2v3p8gkw9f9qbo6qt +CP=$DOLPHINSCHEDULER_HOME/tools/libs/* +for d in api-server; do + for f in $DOLPHINSCHEDULER_HOME/$d/libs/*.jar; do + JAR_FILE_NAME=${f##*/} + if [[ ! $CP =~ $JAR_FILE_NAME ]] && [[ ! $JAR_FILE_NAME =~ "dolphinscheduler-" ]] && [[ ! $JAR_FILE_NAME == "spring"* ]]; then + CP=$CP:$f + fi + done +done + +$JAVA_HOME/bin/java $JAVA_OPTS \ + -cp "$DOLPHINSCHEDULER_HOME/tools/conf":"$CP":"$DOLPHINSCHEDULER_HOME/tools/sql" \ + -Dspring.profiles.active=demo,${DATABASE} \ + org.apache.dolphinscheduler.tools.demo.CreateProcessDemo diff --git a/dolphinscheduler-tools/src/main/dist-bin/migrate-resource.sh b/dolphinscheduler-tools/src/main/dist-bin/migrate-resource.sh new file mode 100644 index 0000000000..d4422d763e --- /dev/null +++ b/dolphinscheduler-tools/src/main/dist-bin/migrate-resource.sh @@ -0,0 +1,42 @@ +#!/bin/bash +# +# 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. +# + +BIN_DIR=$(dirname $0) +DOLPHINSCHEDULER_HOME=${DOLPHINSCHEDULER_HOME:-$(cd $BIN_DIR/../..; pwd)} + +if [ "$DOCKER" != "true" ]; then + source "$DOLPHINSCHEDULER_HOME/bin/env/dolphinscheduler_env.sh" +fi + +JAVA_OPTS=${JAVA_OPTS:-"-server -Duser.timezone=${SPRING_JACKSON_TIME_ZONE} -Xms1g -Xmx1g -Xmn512m -XX:+PrintGCDetails -Xloggc:gc.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=dump.hprof"} + +# TODO temp solution to may our tarball small enough to pass ASF release policy, for more detail see: https://lists.apache.org/thread/rmp7fghlj0n7h9y2v3p8gkw9f9qbo6qt +CP=$DOLPHINSCHEDULER_HOME/tools/libs/* +for d in api-server; do + for f in $DOLPHINSCHEDULER_HOME/$d/libs/*.jar; do + JAR_FILE_NAME=${f##*/} + if [[ ! $CP =~ $JAR_FILE_NAME ]] && [[ ! $JAR_FILE_NAME =~ "dolphinscheduler-" ]] && [[ ! $JAR_FILE_NAME == "spring"* ]]; then + CP=$CP:$f + fi + done +done + +$JAVA_HOME/bin/java $JAVA_OPTS \ + -cp "$DOLPHINSCHEDULER_HOME/tools/conf":"$CP":"$DOLPHINSCHEDULER_HOME/tools/sql" \ + -Dspring.profiles.active=resource,${DATABASE} \ + org.apache.dolphinscheduler.tools.resource.MigrateResource $1 diff --git a/dolphinscheduler-tools/src/main/dist-bin/upgrade-schema.sh b/dolphinscheduler-tools/src/main/dist-bin/upgrade-schema.sh new file mode 100755 index 0000000000..4f768ca7b2 --- /dev/null +++ b/dolphinscheduler-tools/src/main/dist-bin/upgrade-schema.sh @@ -0,0 +1,42 @@ +#!/bin/bash +# +# 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. +# + +BIN_DIR=$(dirname $0) +DOLPHINSCHEDULER_HOME=${DOLPHINSCHEDULER_HOME:-$(cd $BIN_DIR/../..; pwd)} + +if [ "$DOCKER" != "true" ]; then + source "$DOLPHINSCHEDULER_HOME/bin/env/dolphinscheduler_env.sh" +fi + +JAVA_OPTS=${JAVA_OPTS:-"-server -Duser.timezone=${SPRING_JACKSON_TIME_ZONE} -Xms1g -Xmx1g -Xmn512m -XX:+PrintGCDetails -Xloggc:gc.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=dump.hprof"} + +# TODO temp solution to may our tarball small enough to pass ASF release policy, for more detail see: https://lists.apache.org/thread/rmp7fghlj0n7h9y2v3p8gkw9f9qbo6qt +CP=$DOLPHINSCHEDULER_HOME/tools/libs/* +for d in api-server; do + for f in $DOLPHINSCHEDULER_HOME/$d/libs/*.jar; do + JAR_FILE_NAME=${f##*/} + if [[ ! $CP =~ $JAR_FILE_NAME ]] && [[ ! $JAR_FILE_NAME =~ "dolphinscheduler-" ]] && [[ ! $JAR_FILE_NAME == "spring"* ]]; then + CP=$CP:$f + fi + done +done + +$JAVA_HOME/bin/java $JAVA_OPTS \ + -cp "$DOLPHINSCHEDULER_HOME/tools/conf":"$DOLPHINSCHEDULER_HOME/tools/sql":"$CP" \ + -Dspring.profiles.active=upgrade,${DATABASE} \ + org.apache.dolphinscheduler.tools.datasource.UpgradeDolphinScheduler diff --git a/pom.xml b/pom.xml index ab539c6e31..90d6c1655a 100755 --- a/pom.xml +++ b/pom.xml @@ -231,6 +231,11 @@ dolphinscheduler-task-all ${project.version} + + org.apache.dolphinscheduler + dolphinscheduler-task-all-prune + ${project.version} + org.apache.dolphinscheduler diff --git a/tools/dependencies/known-dependencies.txt b/tools/dependencies/known-dependencies.txt index 23fb7919d9..82ae7d551a 100644 --- a/tools/dependencies/known-dependencies.txt +++ b/tools/dependencies/known-dependencies.txt @@ -11,7 +11,6 @@ annotations-13.0.jar apache-client-2.17.282.jar asm-9.1.jar aspectjweaver-1.9.7.jar -aspectjrt-1.9.7.jar auth-2.17.282.jar audience-annotations-0.12.0.jar avro-1.7.7.jar @@ -23,9 +22,7 @@ aws-java-sdk-s3-1.12.300.jar aws-java-sdk-sagemaker-1.12.300.jar aws-java-sdk-dms-1.12.300.jar aws-json-protocol-2.17.282.jar -bcpkix-jdk15on-1.69.jar bcprov-ext-jdk15on-1.69.jar -bcprov-jdk15on-1.69.jar bcutil-jdk15on-1.69.jar bonecp-0.8.0.RELEASE.jar bucket4j-core-6.2.0.jar @@ -33,7 +30,6 @@ byte-buddy-1.9.16.jar caffeine-2.9.3.jar checker-qual-3.12.0.jar checker-qual-3.19.0.jar -checker-qual-3.5.0.jar classgraph-4.8.147.jar classmate-1.5.1.jar clickhouse-jdbc-0.4.6.jar @@ -445,8 +441,8 @@ azure-core-management-1.10.1.jar api-common-2.6.0.jar auto-value-1.10.1.jar auto-value-annotations-1.10.1.jar -bcpkix-jdk15on-1.67.jar -bcprov-jdk15on-1.67.jar +bcpkix-jdk15on-1.69.jar +bcprov-jdk15on-1.69.jar conscrypt-openjdk-uber-2.5.2.jar gapic-google-cloud-storage-v2-2.18.0-alpha.jar gax-2.23.0.jar