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/dolphinscheduler.git


The following commit(s) were added to refs/heads/dev by this push:
     new 342c4717d2 [Improvement-17277]Remove unused testFlag (#17282)
342c4717d2 is described below

commit 342c4717d268734acf0b37546562bf7e33fcc9ef
Author: xiangzihao <[email protected]>
AuthorDate: Wed Jun 25 18:02:18 2025 +0800

    [Improvement-17277]Remove unused testFlag (#17282)
---
 .../api/controller/ExecutorController.java         |  9 -----
 .../api/dto/workflow/WorkflowBackFillRequest.java  |  2 -
 .../api/dto/workflow/WorkflowTriggerRequest.java   |  2 -
 .../workflow/BackfillWorkflowExecutorDelegate.java |  1 -
 .../workflow/TriggerWorkflowExecutorDelegate.java  |  1 -
 .../dolphinscheduler/api/python/PythonGateway.java |  2 -
 .../api/service/impl/ExecutorServiceImpl.java      |  1 -
 .../service/impl/WorkflowInstanceServiceImpl.java  |  6 +--
 .../validator/workflow/BackfillWorkflowDTO.java    |  2 -
 .../BackfillWorkflowRequestTransformer.java        |  1 -
 .../api/validator/workflow/TriggerWorkflowDTO.java |  2 -
 .../TriggerWorkflowRequestTransformer.java         |  1 -
 .../src/main/resources/i18n/messages.properties    |  1 -
 .../main/resources/i18n/messages_en_US.properties  |  1 -
 .../main/resources/i18n/messages_zh_CN.properties  |  1 -
 .../api/controller/DataSourceControllerTest.java   |  4 --
 ...kflowInstanceExecuteFunctionControllerTest.java |  4 --
 .../api/service/WorkflowInstanceServiceTest.java   |  5 +--
 .../apache/dolphinscheduler/common/enums/Flag.java | 11 ++----
 .../dolphinscheduler/dao/entity/Command.java       | 11 +-----
 .../dolphinscheduler/dao/entity/ErrorCommand.java  |  5 ---
 .../dolphinscheduler/dao/entity/TaskInstance.java  |  2 -
 .../dao/entity/WorkflowInstance.java               |  2 -
 .../dao/mapper/TaskInstanceMapper.java             | 10 ++---
 .../dao/mapper/WorkflowInstanceMapper.java         |  8 +---
 .../dao/repository/TaskInstanceDao.java            |  9 ++---
 .../dao/repository/WorkflowInstanceDao.java        |  5 +--
 .../dao/repository/impl/TaskInstanceDaoImpl.java   | 20 ++++------
 .../repository/impl/WorkflowInstanceDaoImpl.java   | 12 ++----
 .../dao/mapper/TaskInstanceMapper.xml              |  7 ++--
 .../dao/mapper/WorkflowInstanceMapper.xml          |  6 +--
 .../src/main/resources/sql/dolphinscheduler_h2.sql |  4 --
 .../main/resources/sql/dolphinscheduler_mysql.sql  |  4 --
 .../resources/sql/dolphinscheduler_postgresql.sql  |  4 --
 .../3.3.1_schema/mysql/dolphinscheduler_ddl.sql    |  4 ++
 .../postgresql/dolphinscheduler_ddl.sql            |  6 ++-
 .../dao/entity/ErrorCommandTest.java               |  3 --
 .../dao/mapper/TaskInstanceMapperTest.java         |  7 +---
 .../dao/mapper/WorkflowInstanceMapperTest.java     | 10 ++---
 .../workflow/WorkflowBackfillTriggerRequest.java   |  3 --
 .../workflow/WorkflowManualTriggerRequest.java     |  3 --
 .../workflow/WorkflowScheduleTriggerRequest.java   |  3 --
 .../command/handler/AbstractCommandHandler.java    |  3 +-
 .../plugin/condition/ConditionLogicTask.java       |  2 +-
 .../plugin/dependent/DependentTaskTracker.java     |  4 +-
 .../plugin/subworkflow/SubWorkflowLogicTask.java   |  1 -
 .../task/runnable/AbstractTaskInstanceFactory.java |  2 -
 .../task/runnable/TaskExecutionContextBuilder.java |  3 +-
 .../listener/WorkflowSuccessLifecycleListener.java |  1 -
 .../workflow/trigger/WorkflowBackfillTrigger.java  |  1 -
 .../workflow/trigger/WorkflowManualTrigger.java    |  1 -
 .../workflow/trigger/WorkflowScheduleTrigger.java  |  1 -
 .../server/master/utils/DependentExecute.java      | 43 ++++++++++------------
 .../scheduler/quartz/ProcessScheduleTask.java      |  1 -
 .../service/process/ProcessServiceImpl.java        | 13 ++-----
 .../plugin/task/api/TaskExecutionContext.java      |  2 -
 .../dolphinscheduler/plugin/task/sql/SqlTask.java  |  2 +-
 dolphinscheduler-ui/src/locales/en_US/project.ts   |  1 -
 dolphinscheduler-ui/src/locales/zh_CN/project.ts   |  1 -
 .../service/modules/workflow-instances/types.ts    |  1 -
 .../statistics/statistics/list-command-table.tsx   |  4 +-
 .../statistics/list-error-command-table.tsx        |  4 +-
 .../task/components/node/fields/use-datasource.ts  |  4 +-
 .../components/node/fields/use-sqoop-datasource.ts |  2 +-
 .../src/views/projects/task/instance/types.ts      |  1 -
 .../workflow/definition/components/start-modal.tsx |  7 ----
 .../workflow/definition/components/use-form.ts     |  1 -
 67 files changed, 83 insertions(+), 228 deletions(-)

diff --git 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ExecutorController.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ExecutorController.java
index ad7254f004..2c1137878c 100644
--- 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ExecutorController.java
+++ 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ExecutorController.java
@@ -100,7 +100,6 @@ public class ExecutorController extends BaseController {
      * @param workflowInstancePriority   workflow instance priority
      * @param workerGroup               worker group
      * @param expectedParallelismNumber the expected parallelism number when 
execute complement in parallel mode
-     * @param testFlag                  testFlag
      * @param executionOrder            complement data in some kind of order
      * @return start workflow result code
      */
@@ -122,7 +121,6 @@ public class ExecutorController extends BaseController {
             @Parameter(name = "timeout", description = "TIMEOUT", schema = 
@Schema(implementation = int.class, example = "100")),
             @Parameter(name = "expectedParallelismNumber", description = 
"EXPECTED_PARALLELISM_NUMBER", schema = @Schema(implementation = int.class, 
example = "8")),
             @Parameter(name = "dryRun", description = "DRY_RUN", schema = 
@Schema(implementation = int.class, example = "0")),
-            @Parameter(name = "testFlag", description = "TEST_FLAG", schema = 
@Schema(implementation = int.class, example = "0")),
             @Parameter(name = "complementDependentMode", description = 
"COMPLEMENT_DEPENDENT_MODE", schema = @Schema(implementation = 
ComplementDependentMode.class)),
             @Parameter(name = "allLevelDependent", description = 
"ALL_LEVEL_DEPENDENT", schema = @Schema(implementation = boolean.class, example 
= "false")),
             @Parameter(name = "executionOrder", description = 
"EXECUTION_ORDER", schema = @Schema(implementation = ExecutionOrder.class))
@@ -148,7 +146,6 @@ public class ExecutorController extends BaseController {
                                                            @RequestParam(value 
= "startParams", required = false) String startParams,
                                                            @RequestParam(value 
= "expectedParallelismNumber", required = false) Integer 
expectedParallelismNumber,
                                                            @RequestParam(value 
= "dryRun", defaultValue = "0", required = false) int dryRun,
-                                                           @RequestParam(value 
= "testFlag", defaultValue = "0") int testFlag,
                                                            @RequestParam(value 
= "complementDependentMode", required = false) ComplementDependentMode 
complementDependentMode,
                                                            @RequestParam(value 
= "allLevelDependent", required = false, defaultValue = "false") boolean 
allLevelDependent,
                                                            @RequestParam(value 
= "executionOrder", required = false) ExecutionOrder executionOrder) {
@@ -169,7 +166,6 @@ public class ExecutorController extends BaseController {
                         .environmentCode(environmentCode)
                         .startParamList(startParams)
                         .dryRun(Flag.of(dryRun))
-                        .testFlag(Flag.of(testFlag))
                         .build();
                 return Result
                         
.success(Lists.newArrayList(execService.triggerWorkflowDefinition(workflowTriggerRequest)));
@@ -190,7 +186,6 @@ public class ExecutorController extends BaseController {
                         .environmentCode(environmentCode)
                         .startParamList(startParams)
                         .dryRun(Flag.of(dryRun))
-                        .testFlag(Flag.of(testFlag))
                         
.backfillTime(WorkflowUtils.parseBackfillTime(scheduleTime))
                         .expectedParallelismNumber(expectedParallelismNumber)
                         .backfillDependentMode(complementDependentMode)
@@ -222,7 +217,6 @@ public class ExecutorController extends BaseController {
      * @param workerGroup               worker group
      * @param tenantCode                tenant code
      * @param expectedParallelismNumber the expected parallelism number when 
execute complement in parallel mode
-     * @param testFlag                  testFlag
      * @param executionOrder            complement data in some kind of order
      * @return start workflow result code
      */
@@ -243,7 +237,6 @@ public class ExecutorController extends BaseController {
             @Parameter(name = "environmentCode", description = 
"ENVIRONMENT_CODE", schema = @Schema(implementation = Long.class, example = 
"-1")),
             @Parameter(name = "expectedParallelismNumber", description = 
"EXPECTED_PARALLELISM_NUMBER", schema = @Schema(implementation = int.class, 
example = "8")),
             @Parameter(name = "dryRun", description = "DRY_RUN", schema = 
@Schema(implementation = int.class, example = "0")),
-            @Parameter(name = "testFlag", description = "TEST_FLAG", schema = 
@Schema(implementation = int.class, example = "0")),
             @Parameter(name = "complementDependentMode", description = 
"COMPLEMENT_DEPENDENT_MODE", schema = @Schema(implementation = 
ComplementDependentMode.class)),
             @Parameter(name = "allLevelDependent", description = 
"ALL_LEVEL_DEPENDENT", schema = @Schema(implementation = boolean.class, example 
= "false")),
             @Parameter(name = "executionOrder", description = 
"EXECUTION_ORDER", schema = @Schema(implementation = ExecutionOrder.class))
@@ -269,7 +262,6 @@ public class ExecutorController extends BaseController {
                                                                  
@RequestParam(value = "startParams", required = false) String startParams,
                                                                  
@RequestParam(value = "expectedParallelismNumber", required = false) Integer 
expectedParallelismNumber,
                                                                  
@RequestParam(value = "dryRun", defaultValue = "0", required = false) int 
dryRun,
-                                                                 
@RequestParam(value = "testFlag", defaultValue = "0") int testFlag,
                                                                  
@RequestParam(value = "complementDependentMode", required = false) 
ComplementDependentMode complementDependentMode,
                                                                  
@RequestParam(value = "allLevelDependent", required = false, defaultValue = 
"false") boolean allLevelDependent,
                                                                  
@RequestParam(value = "executionOrder", required = false) ExecutionOrder 
executionOrder) {
@@ -296,7 +288,6 @@ public class ExecutorController extends BaseController {
                     startParams,
                     expectedParallelismNumber,
                     dryRun,
-                    testFlag,
                     complementDependentMode,
                     allLevelDependent,
                     executionOrder);
diff --git 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/dto/workflow/WorkflowBackFillRequest.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/dto/workflow/WorkflowBackFillRequest.java
index 3e275c378b..1578b0678a 100644
--- 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/dto/workflow/WorkflowBackFillRequest.java
+++ 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/dto/workflow/WorkflowBackFillRequest.java
@@ -67,8 +67,6 @@ public class WorkflowBackFillRequest {
 
     private Flag dryRun;
 
-    private Flag testFlag;
-
     private RunMode backfillRunMode;
 
     private BackfillTime backfillTime;
diff --git 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/dto/workflow/WorkflowTriggerRequest.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/dto/workflow/WorkflowTriggerRequest.java
index a7a5aad627..078d4a9f81 100644
--- 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/dto/workflow/WorkflowTriggerRequest.java
+++ 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/dto/workflow/WorkflowTriggerRequest.java
@@ -61,6 +61,4 @@ public class WorkflowTriggerRequest {
     private String startParamList;
 
     private Flag dryRun;
-
-    private Flag testFlag;
 }
diff --git 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/executor/workflow/BackfillWorkflowExecutorDelegate.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/executor/workflow/BackfillWorkflowExecutorDelegate.java
index ad965d8557..3f695e810c 100644
--- 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/executor/workflow/BackfillWorkflowExecutorDelegate.java
+++ 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/executor/workflow/BackfillWorkflowExecutorDelegate.java
@@ -130,7 +130,6 @@ public class BackfillWorkflowExecutorDelegate implements 
IExecutorDelegate<Backf
                 .environmentCode(backfillWorkflowDTO.getEnvironmentCode())
                 .startParamList(backfillWorkflowDTO.getStartParamList())
                 .dryRun(backfillWorkflowDTO.getDryRun())
-                .testFlag(backfillWorkflowDTO.getTestFlag())
                 .build();
 
         final WorkflowBackfillTriggerResponse backfillTriggerResponse = Clients
diff --git 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/executor/workflow/TriggerWorkflowExecutorDelegate.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/executor/workflow/TriggerWorkflowExecutorDelegate.java
index 4270f140e2..297debed49 100644
--- 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/executor/workflow/TriggerWorkflowExecutorDelegate.java
+++ 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/executor/workflow/TriggerWorkflowExecutorDelegate.java
@@ -72,7 +72,6 @@ public class TriggerWorkflowExecutorDelegate implements 
IExecutorDelegate<Trigge
                 .environmentCode(triggerWorkflowDTO.getEnvironmentCode())
                 .startParamList(triggerWorkflowDTO.getStartParamList())
                 .dryRun(triggerWorkflowDTO.getDryRun())
-                .testFlag(triggerWorkflowDTO.getTestFlag())
                 .build();
     }
 }
diff --git 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/python/PythonGateway.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/python/PythonGateway.java
index 0149e48a88..b3d3298540 100644
--- 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/python/PythonGateway.java
+++ 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/python/PythonGateway.java
@@ -98,7 +98,6 @@ public class PythonGateway {
     private static final RunMode DEFAULT_RUN_MODE = RunMode.RUN_MODE_SERIAL;
     private static final ExecutionOrder DEFAULT_EXECUTION_ORDER = 
ExecutionOrder.DESC_ORDER;
     private static final int DEFAULT_DRY_RUN = 0;
-    private static final int DEFAULT_TEST_FLAG = 0;
     private static final ComplementDependentMode COMPLEMENT_DEPENDENT_MODE = 
ComplementDependentMode.OFF_MODE;
     // We use admin user's user_id to skip some permission issue from python 
gateway service
     private static final int ADMIN_USER_ID = 1;
@@ -392,7 +391,6 @@ public class PythonGateway {
                 .execType(CommandType.START_PROCESS)
                 .taskDependType(TaskDependType.TASK_POST)
                 .dryRun(Flag.NO)
-                .testFlag(Flag.NO)
                 .build();
         executorService.triggerWorkflowDefinition(workflowTriggerRequest);
     }
diff --git 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ExecutorServiceImpl.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ExecutorServiceImpl.java
index 99e55bfab2..fac2c57265 100644
--- 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ExecutorServiceImpl.java
+++ 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ExecutorServiceImpl.java
@@ -372,7 +372,6 @@ public class ExecutorServiceImpl extends BaseServiceImpl 
implements ExecutorServ
         command.setExecutorId(loginUser.getId());
         command.setWorkflowDefinitionVersion(workflowDefinition.getVersion());
         command.setWorkflowInstanceId(workflowInstanceId);
-        command.setTestFlag(workflowInstance.getTestFlag());
 
         // Add taskDependType
         command.setTaskDependType(taskDependType);
diff --git 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/WorkflowInstanceServiceImpl.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/WorkflowInstanceServiceImpl.java
index dd259367ac..cee3d69332 100644
--- 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/WorkflowInstanceServiceImpl.java
+++ 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/WorkflowInstanceServiceImpl.java
@@ -467,8 +467,7 @@ public class WorkflowInstanceServiceImpl extends 
BaseServiceImpl implements Work
             return result;
         }
         List<TaskInstance> taskInstanceList =
-                
taskInstanceDao.queryValidTaskListByWorkflowInstanceId(workflowInstanceId,
-                        workflowInstance.getTestFlag());
+                
taskInstanceDao.queryValidTaskListByWorkflowInstanceId(workflowInstanceId);
         List<TaskInstanceDependentDetails<AbstractTaskInstanceContext>> 
taskInstanceDependentDetailsList =
                 setTaskInstanceDependentResult(taskInstanceList);
 
@@ -917,8 +916,7 @@ public class WorkflowInstanceServiceImpl extends 
BaseServiceImpl implements Work
                                                             Map<String, 
String> timeParams) {
         Map<String, Map<String, Object>> localUserDefParams = new HashMap<>();
         List<TaskInstance> taskInstanceList =
-                
taskInstanceMapper.findValidTaskListByWorkflowInstanceId(workflowInstance.getId(),
 Flag.YES,
-                        workflowInstance.getTestFlag());
+                
taskInstanceMapper.findValidTaskListByWorkflowInstanceId(workflowInstance.getId(),
 Flag.YES);
         for (TaskInstance taskInstance : taskInstanceList) {
             TaskDefinitionLog taskDefinitionLog = 
taskDefinitionLogMapper.queryByDefinitionCodeAndVersion(
                     taskInstance.getTaskCode(), 
taskInstance.getTaskDefinitionVersion());
diff --git 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/validator/workflow/BackfillWorkflowDTO.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/validator/workflow/BackfillWorkflowDTO.java
index 2500d55263..180a9438cc 100644
--- 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/validator/workflow/BackfillWorkflowDTO.java
+++ 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/validator/workflow/BackfillWorkflowDTO.java
@@ -74,8 +74,6 @@ public class BackfillWorkflowDTO {
 
     private Flag dryRun;
 
-    private Flag testFlag;
-
     private Long triggerCode;
 
     private BackfillParamsDTO backfillParams;
diff --git 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/validator/workflow/BackfillWorkflowRequestTransformer.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/validator/workflow/BackfillWorkflowRequestTransformer.java
index e78cab5952..b9f0b36316 100644
--- 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/validator/workflow/BackfillWorkflowRequestTransformer.java
+++ 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/validator/workflow/BackfillWorkflowRequestTransformer.java
@@ -76,7 +76,6 @@ public class BackfillWorkflowRequestTransformer implements 
ITransformer<Workflow
                 .startParamList(
                         
PropertyUtils.startParamsTransformPropertyList(workflowBackFillRequest.getStartParamList()))
                 .dryRun(workflowBackFillRequest.getDryRun())
-                .testFlag(workflowBackFillRequest.getTestFlag())
                 .triggerCode(CodeGenerateUtils.genCode())
                 .backfillParams(backfillParams)
                 .build();
diff --git 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/validator/workflow/TriggerWorkflowDTO.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/validator/workflow/TriggerWorkflowDTO.java
index be0c95e058..3c99d5ce16 100644
--- 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/validator/workflow/TriggerWorkflowDTO.java
+++ 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/validator/workflow/TriggerWorkflowDTO.java
@@ -71,6 +71,4 @@ public class TriggerWorkflowDTO {
 
     private Flag dryRun;
 
-    private Flag testFlag;
-
 }
diff --git 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/validator/workflow/TriggerWorkflowRequestTransformer.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/validator/workflow/TriggerWorkflowRequestTransformer.java
index 6d21a89826..c1c85acbcd 100644
--- 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/validator/workflow/TriggerWorkflowRequestTransformer.java
+++ 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/validator/workflow/TriggerWorkflowRequestTransformer.java
@@ -54,7 +54,6 @@ public class TriggerWorkflowRequestTransformer implements 
ITransformer<WorkflowT
                 .startParamList(
                         
PropertyUtils.startParamsTransformPropertyList(workflowTriggerRequest.getStartParamList()))
                 .dryRun(workflowTriggerRequest.getDryRun())
-                .testFlag(workflowTriggerRequest.getTestFlag())
                 .build();
 
         WorkflowDefinition workflowDefinition = workflowDefinitionDao
diff --git a/dolphinscheduler-api/src/main/resources/i18n/messages.properties 
b/dolphinscheduler-api/src/main/resources/i18n/messages.properties
index 5b946c6343..b11a591d73 100644
--- a/dolphinscheduler-api/src/main/resources/i18n/messages.properties
+++ b/dolphinscheduler-api/src/main/resources/i18n/messages.properties
@@ -273,7 +273,6 @@ VERIFY_CLUSTER_NOTES=verify cluster
 
 EXPECTED_PARALLELISM_NUMBER=custom parallelism to set the complement task 
threads
 DRY_RUN=dry run
-TEST_FLAG=test flag
 COMPLEMENT_DEPENDENT_MODE=complement dependent mode
 RUN_TASK_INSTANCE_NOTES=run task instance
 
diff --git 
a/dolphinscheduler-api/src/main/resources/i18n/messages_en_US.properties 
b/dolphinscheduler-api/src/main/resources/i18n/messages_en_US.properties
index 5385301f7b..65416ca87c 100644
--- a/dolphinscheduler-api/src/main/resources/i18n/messages_en_US.properties
+++ b/dolphinscheduler-api/src/main/resources/i18n/messages_en_US.properties
@@ -306,7 +306,6 @@ DELETE_CLUSTER_BY_CODE_NOTES=delete cluster by code
 QUERY_ALL_CLUSTER_LIST_NOTES=query all cluster list
 VERIFY_CLUSTER_NOTES=verify cluster
 
-TEST_FLAG=test flag
 RUN_TASK_INSTANCE_NOTES=run task instance
 
 FAVOURITE_TAG=favourite related operation
diff --git 
a/dolphinscheduler-api/src/main/resources/i18n/messages_zh_CN.properties 
b/dolphinscheduler-api/src/main/resources/i18n/messages_zh_CN.properties
index 8d1cef0667..3fc58dcb41 100644
--- a/dolphinscheduler-api/src/main/resources/i18n/messages_zh_CN.properties
+++ b/dolphinscheduler-api/src/main/resources/i18n/messages_zh_CN.properties
@@ -304,7 +304,6 @@ 
DELETE_CLUSTER_BY_CODE_NOTES=\u901A\u8FC7\u96C6\u7FA4\u4EE3\u7801\u5220\u9664\u9
 QUERY_ALL_CLUSTER_LIST_NOTES=\u67E5\u8BE2\u6240\u6709\u96C6\u7FA4\u5217\u8868
 VERIFY_CLUSTER_NOTES=\u6821\u9A8C\u96C6\u7FA4
 
-TEST_FLAG=\u6D4B\u8BD5\u6807\u8BC6
 RUN_TASK_INSTANCE_NOTES=\u8FD0\u884C\u4EFB\u52A1\u5B9E\u4F8B
 
 FAVOURITE_TAG=\u504F\u597D\u76F8\u5173\u64CD\u4F5C
diff --git 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/DataSourceControllerTest.java
 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/DataSourceControllerTest.java
index b620c2745a..dacd61ea76 100644
--- 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/DataSourceControllerTest.java
+++ 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/DataSourceControllerTest.java
@@ -74,7 +74,6 @@ public class DataSourceControllerTest extends 
AbstractControllerTest {
         paramsMap.put("userName", "root");
         paramsMap.put("password", "123456");
         paramsMap.put("other", new HashMap<>());
-        paramsMap.put("testFlag", 1);
         paramsMap.put("bindTestId", null);
         MvcResult mvcResult = mockMvc.perform(post("/datasources")
                 .header("sessionId", sessionId)
@@ -103,7 +102,6 @@ public class DataSourceControllerTest extends 
AbstractControllerTest {
         paramsMap.put("userName", "root");
         paramsMap.put("password", "root@123");
         paramsMap.put("other", new HashMap<>());
-        paramsMap.put("testFlag", 0);
         paramsMap.put("bindTestId", 1);
         MvcResult mvcResult = mockMvc.perform(put("/datasources/2")
                 .header("sessionId", sessionId)
@@ -136,7 +134,6 @@ public class DataSourceControllerTest extends 
AbstractControllerTest {
     public void testQueryDataSourceList(String key, String dbType) throws 
Exception {
         MultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>();
         paramsMap.add(key, dbType);
-        paramsMap.add("testFlag", "0");
         MvcResult mvcResult = mockMvc.perform(get("/datasources/list")
                 .header("sessionId", sessionId)
                 .params(paramsMap))
@@ -177,7 +174,6 @@ public class DataSourceControllerTest extends 
AbstractControllerTest {
         paramsMap.put("userName", "root");
         paramsMap.put("password", "123456");
         paramsMap.put("other", null);
-        paramsMap.put("testFlag", 1);
         paramsMap.put("bindTestId", null);
         MvcResult mvcResult = mockMvc.perform(post("/datasources/connect")
                 .header("sessionId", sessionId)
diff --git 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/WorkflowInstanceExecuteFunctionControllerTest.java
 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/WorkflowInstanceExecuteFunctionControllerTest.java
index 3f25c86e9b..753f1edcda 100644
--- 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/WorkflowInstanceExecuteFunctionControllerTest.java
+++ 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/WorkflowInstanceExecuteFunctionControllerTest.java
@@ -81,7 +81,6 @@ public class WorkflowInstanceExecuteFunctionControllerTest 
extends AbstractContr
             Collections.singletonList(new Property("start", Direct.IN, 
DataType.VARCHAR, "params"));
     final Integer expectedParallelismNumber = 6;
     final int dryRun = 7;
-    final int testFlag = 0;
     final ComplementDependentMode complementDependentMode = 
ComplementDependentMode.OFF_MODE;
     final Integer version = 1;
     final boolean allLevelDependent = false;
@@ -116,7 +115,6 @@ public class WorkflowInstanceExecuteFunctionControllerTest 
extends AbstractContr
         paramsMap.add("startParams", gson.toJson(startParams));
         paramsMap.add("expectedParallelismNumber", 
String.valueOf(expectedParallelismNumber));
         paramsMap.add("dryRun", String.valueOf(dryRun));
-        paramsMap.add("testFlag", String.valueOf(testFlag));
         paramsMap.add("executionOrder", String.valueOf(executionOrder));
         paramsMap.add("version", String.valueOf(version));
 
@@ -156,7 +154,6 @@ public class WorkflowInstanceExecuteFunctionControllerTest 
extends AbstractContr
         paramsMap.add("startParams", gson.toJson(startParams));
         paramsMap.add("expectedParallelismNumber", 
String.valueOf(expectedParallelismNumber));
         paramsMap.add("dryRun", String.valueOf(dryRun));
-        paramsMap.add("testFlag", String.valueOf(testFlag));
         paramsMap.add("executionOrder", String.valueOf(executionOrder));
         paramsMap.add("version", String.valueOf(version));
 
@@ -196,7 +193,6 @@ public class WorkflowInstanceExecuteFunctionControllerTest 
extends AbstractContr
         paramsMap.add("timeout", String.valueOf(timeout));
         paramsMap.add("expectedParallelismNumber", 
String.valueOf(expectedParallelismNumber));
         paramsMap.add("dryRun", String.valueOf(dryRun));
-        paramsMap.add("testFlag", String.valueOf(testFlag));
         paramsMap.add("executionOrder", String.valueOf(executionOrder));
         paramsMap.add("version", String.valueOf(version));
 
diff --git 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/WorkflowInstanceServiceTest.java
 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/WorkflowInstanceServiceTest.java
index 9395e471ee..767d204305 100644
--- 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/WorkflowInstanceServiceTest.java
+++ 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/WorkflowInstanceServiceTest.java
@@ -493,9 +493,8 @@ public class WorkflowInstanceServiceTest {
         when(projectService.checkProjectAndAuth(loginUser, project, 
projectCode, WORKFLOW_INSTANCE)).thenReturn(result);
         
when(processService.findWorkflowInstanceDetailById(workflowInstance.getId()))
                 .thenReturn(Optional.of(workflowInstance));
-        
when(taskInstanceDao.queryValidTaskListByWorkflowInstanceId(workflowInstance.getId(),
-                workflowInstance.getTestFlag()))
-                        .thenReturn(taskInstanceList);
+        
when(taskInstanceDao.queryValidTaskListByWorkflowInstanceId(workflowInstance.getId()))
+                .thenReturn(taskInstanceList);
         when(loggerService.queryLog(loginUser, taskInstance.getId(), 0, 
4098)).thenReturn(res);
         
when(taskInstanceContextDao.batchQueryByTaskInstanceIdsAndContextType(taskInstanceIdList,
                 ContextType.DEPENDENT_RESULT_CONTEXT))
diff --git 
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/enums/Flag.java
 
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/enums/Flag.java
index 6466b21687..e7608d3cc4 100644
--- 
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/enums/Flag.java
+++ 
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/enums/Flag.java
@@ -17,6 +17,8 @@
 
 package org.apache.dolphinscheduler.common.enums;
 
+import lombok.Getter;
+
 import com.baomidou.mybatisplus.annotation.EnumValue;
 
 /**
@@ -27,6 +29,7 @@ import com.baomidou.mybatisplus.annotation.EnumValue;
  * have_map_variables
  * have_alert
  */
+@Getter
 public enum Flag {
 
     /**
@@ -45,14 +48,6 @@ public enum Flag {
     private final int code;
     private final String descp;
 
-    public int getCode() {
-        return code;
-    }
-
-    public String getDescp() {
-        return descp;
-    }
-
     public static Flag of(int code) {
         if (code == 0) {
             return NO;
diff --git 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/Command.java
 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/Command.java
index c48dccfe7a..4ad86cd948 100644
--- 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/Command.java
+++ 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/Command.java
@@ -119,13 +119,6 @@ public class Command {
     @TableField("dry_run")
     private int dryRun;
 
-    /**
-     * test flag
-     */
-    @Deprecated
-    @TableField("test_flag")
-    private int testFlag;
-
     public Command(
                    CommandType commandType,
                    TaskDependType taskDependType,
@@ -141,8 +134,7 @@ public class Command {
                    Priority workflowInstancePriority,
                    int dryRun,
                    int workflowInstanceId,
-                   int workflowDefinitionVersion,
-                   int testFlag) {
+                   int workflowDefinitionVersion) {
         this.commandType = commandType;
         this.executorId = executorId;
         this.workflowDefinitionCode = workflowDefinitionCode;
@@ -160,6 +152,5 @@ public class Command {
         this.dryRun = dryRun;
         this.workflowInstanceId = workflowInstanceId;
         this.workflowDefinitionVersion = workflowDefinitionVersion;
-        this.testFlag = testFlag;
     }
 }
diff --git 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/ErrorCommand.java
 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/ErrorCommand.java
index 12ba5da0b6..a52c52ea8e 100644
--- 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/ErrorCommand.java
+++ 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/ErrorCommand.java
@@ -28,7 +28,6 @@ import java.util.Date;
 import lombok.Data;
 
 import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 
@@ -77,9 +76,6 @@ public class ErrorCommand {
 
     private int dryRun;
 
-    @TableField("test_flag")
-    private int testFlag;
-
     public ErrorCommand() {
     }
 
@@ -104,6 +100,5 @@ public class ErrorCommand {
         this.environmentCode = command.getEnvironmentCode();
         this.message = message;
         this.dryRun = command.getDryRun();
-        this.testFlag = command.getTestFlag();
     }
 }
diff --git 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/TaskInstance.java
 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/TaskInstance.java
index 5dc6443f8d..e60ffb66f6 100644
--- 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/TaskInstance.java
+++ 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/TaskInstance.java
@@ -132,8 +132,6 @@ public class TaskInstance implements Serializable {
 
     private TaskExecuteType taskExecuteType;
 
-    private int testFlag;
-
     public void init(String host, Date startTime, String executePath) {
         this.host = host;
         this.startTime = startTime;
diff --git 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/WorkflowInstance.java
 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/WorkflowInstance.java
index e20a506311..80b386220c 100644
--- 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/WorkflowInstance.java
+++ 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/WorkflowInstance.java
@@ -158,8 +158,6 @@ public class WorkflowInstance {
 
     private Date restartTime;
 
-    private int testFlag;
-
     /**
      * set the process name with process define version and timestamp
      *
diff --git 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/TaskInstanceMapper.java
 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/TaskInstanceMapper.java
index ca370e9092..dc58d342a6 100644
--- 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/TaskInstanceMapper.java
+++ 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/TaskInstanceMapper.java
@@ -40,8 +40,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 public interface TaskInstanceMapper extends BaseMapper<TaskInstance> {
 
     List<TaskInstance> 
findValidTaskListByWorkflowInstanceId(@Param("workflowInstanceId") Integer 
workflowInstanceId,
-                                                             @Param("flag") 
Flag flag,
-                                                             
@Param("testFlag") int testFlag);
+                                                             @Param("flag") 
Flag flag);
 
     TaskInstance queryByInstanceIdAndCode(@Param("workflowInstanceId") int 
workflowInstanceId,
                                           @Param("taskCode") Long taskCode);
@@ -133,16 +132,13 @@ public interface TaskInstanceMapper extends 
BaseMapper<TaskInstance> {
      * find last task instance list in the date interval
      *
      * @param taskCodes taskCodes
-     * @param testFlag testFlag
      * @return task instance list
      */
     List<TaskInstance> findLastTaskInstances(@Param("workflowInstanceId") 
Integer workflowInstanceId,
-                                             @Param("taskCodes") Set<Long> 
taskCodes,
-                                             @Param("testFlag") int testFlag);
+                                             @Param("taskCodes") Set<Long> 
taskCodes);
 
     TaskInstance findLastTaskInstance(@Param("workflowInstanceId") Integer 
workflowInstanceId,
-                                      @Param("taskCode") long depTaskCode,
-                                      @Param("testFlag") int testFlag);
+                                      @Param("taskCode") long depTaskCode);
 
     void updateTaskInstanceState(@Param("taskInstanceId") Integer 
taskInstanceId,
                                  @Param("originState") int originState,
diff --git 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/WorkflowInstanceMapper.java
 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/WorkflowInstanceMapper.java
index 30484635d2..b7a8de4cec 100644
--- 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/WorkflowInstanceMapper.java
+++ 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/WorkflowInstanceMapper.java
@@ -200,14 +200,12 @@ public interface WorkflowInstanceMapper extends 
BaseMapper<WorkflowInstance> {
      * @param taskDefinitionCode     definitionCode
      * @param startTime              startTime
      * @param endTime                endTime
-     * @param testFlag               testFlag
      * @return workflow instance
      */
     WorkflowInstance 
queryLastSchedulerWorkflow(@Param("workflowDefinitionCode") Long 
workflowDefinitionCode,
                                                 @Param("taskDefinitionCode") 
Long taskDefinitionCode,
                                                 @Param("startTime") Date 
startTime,
-                                                @Param("endTime") Date endTime,
-                                                @Param("testFlag") int 
testFlag);
+                                                @Param("endTime") Date 
endTime);
 
     /**
      * query last manual workflow instance
@@ -216,14 +214,12 @@ public interface WorkflowInstanceMapper extends 
BaseMapper<WorkflowInstance> {
      * @param taskCode               taskCode
      * @param startTime              startTime
      * @param endTime                endTime
-     * @param testFlag               testFlag
      * @return workflow instance
      */
     WorkflowInstance queryLastManualWorkflow(@Param("workflowDefinitionCode") 
Long workflowDefinitionCode,
                                              @Param("taskCode") Long taskCode,
                                              @Param("startTime") Date 
startTime,
-                                             @Param("endTime") Date endTime,
-                                             @Param("testFlag") int testFlag);
+                                             @Param("endTime") Date endTime);
 
     WorkflowInstance queryLastRunningWorkflow(@Param("workflowDefinitionCode") 
Long workflowDefinitionCode,
                                               @Param("startTime") Date 
startTime,
diff --git 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/TaskInstanceDao.java
 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/TaskInstanceDao.java
index 0518759d78..fcee785c59 100644
--- 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/TaskInstanceDao.java
+++ 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/TaskInstanceDao.java
@@ -57,10 +57,9 @@ public interface TaskInstanceDao extends IDao<TaskInstance> {
      * Query list of valid task instance by workflow instance id
      *
      * @param workflowInstanceId workflowInstanceId
-     * @param testFlag          test flag
      * @return list of valid task instance
      */
-    List<TaskInstance> queryValidTaskListByWorkflowInstanceId(Integer 
workflowInstanceId, int testFlag);
+    List<TaskInstance> queryValidTaskListByWorkflowInstanceId(Integer 
workflowInstanceId);
 
     /**
      * Query list of task instance by workflow instance id and task code
@@ -88,22 +87,20 @@ public interface TaskInstanceDao extends IDao<TaskInstance> 
{
      *
      * @param workflowInstanceId Task's parent workflow instance id
      * @param taskCodes         taskCodes
-     * @param testFlag          test flag
      * @return task instance list
      */
     List<TaskInstance> 
queryLastTaskInstanceListIntervalInWorkflowInstance(Integer workflowInstanceId,
-                                                                           
Set<Long> taskCodes, int testFlag);
+                                                                           
Set<Long> taskCodes);
 
     /**
      * find last task instance corresponding to taskCode in the date interval
      *
      * @param workflowInstanceId Task's parent workflow instance id
      * @param depTaskCode       taskCode
-     * @param testFlag          test flag
      * @return task instance
      */
     TaskInstance queryLastTaskInstanceIntervalInWorkflowInstance(Integer 
workflowInstanceId,
-                                                                 long 
depTaskCode, int testFlag);
+                                                                 long 
depTaskCode);
 
     void updateTaskInstanceState(Integer taskInstanceId, TaskExecutionStatus 
originState,
                                  TaskExecutionStatus targetState);
diff --git 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/WorkflowInstanceDao.java
 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/WorkflowInstanceDao.java
index 94a6a85c6c..9f8f11687f 100644
--- 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/WorkflowInstanceDao.java
+++ 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/WorkflowInstanceDao.java
@@ -55,7 +55,7 @@ public interface WorkflowInstanceDao extends 
IDao<WorkflowInstance> {
      * @return workflow instance
      */
     WorkflowInstance queryLastSchedulerWorkflowInterval(Long 
workflowDefinitionCode, Long taskDefinitionCode,
-                                                        DateInterval 
dateInterval, int testFlag);
+                                                        DateInterval 
dateInterval);
 
     /**
      * find last manual workflow instance interval
@@ -65,8 +65,7 @@ public interface WorkflowInstanceDao extends 
IDao<WorkflowInstance> {
      * @param dateInterval   dateInterval
      * @return workflow instance
      */
-    WorkflowInstance queryLastManualWorkflowInterval(Long definitionCode, Long 
taskCode, DateInterval dateInterval,
-                                                     int testFlag);
+    WorkflowInstance queryLastManualWorkflowInterval(Long definitionCode, Long 
taskCode, DateInterval dateInterval);
 
     WorkflowInstance queryLastRunningWorkflowInterval(Long definitionCode, 
DateInterval dateInterval);
 
diff --git 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/impl/TaskInstanceDaoImpl.java
 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/impl/TaskInstanceDaoImpl.java
index 00eb08eb8f..1bed138bda 100644
--- 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/impl/TaskInstanceDaoImpl.java
+++ 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/impl/TaskInstanceDaoImpl.java
@@ -125,8 +125,7 @@ public class TaskInstanceDaoImpl extends 
BaseDao<TaskInstance, TaskInstanceMappe
             return true;
         }
         List<TaskInstance> taskInstances =
-                
this.queryValidTaskListByWorkflowInstanceId(taskInstance.getWorkflowInstanceId(),
-                        taskInstance.getTestFlag());
+                
this.queryValidTaskListByWorkflowInstanceId(taskInstance.getWorkflowInstanceId());
 
         for (TaskInstance task : taskInstances) {
             if (task.getState() == TaskExecutionStatus.FAILURE
@@ -138,8 +137,8 @@ public class TaskInstanceDaoImpl extends 
BaseDao<TaskInstance, TaskInstanceMappe
     }
 
     @Override
-    public List<TaskInstance> queryValidTaskListByWorkflowInstanceId(Integer 
processInstanceId, int testFlag) {
-        return 
mybatisMapper.findValidTaskListByWorkflowInstanceId(processInstanceId, 
Flag.YES, testFlag);
+    public List<TaskInstance> queryValidTaskListByWorkflowInstanceId(Integer 
processInstanceId) {
+        return 
mybatisMapper.findValidTaskListByWorkflowInstanceId(processInstanceId, 
Flag.YES);
     }
 
     @Override
@@ -150,8 +149,7 @@ public class TaskInstanceDaoImpl extends 
BaseDao<TaskInstance, TaskInstanceMappe
     @Override
     public List<TaskInstance> 
queryPreviousTaskListByWorkflowInstanceId(Integer workflowInstanceId) {
         WorkflowInstance workflowInstance = 
workflowInstanceMapper.selectById(workflowInstanceId);
-        return 
mybatisMapper.findValidTaskListByWorkflowInstanceId(workflowInstanceId, Flag.NO,
-                workflowInstance.getTestFlag());
+        return 
mybatisMapper.findValidTaskListByWorkflowInstanceId(workflowInstanceId, 
Flag.NO);
     }
 
     @Override
@@ -166,15 +164,13 @@ public class TaskInstanceDaoImpl extends 
BaseDao<TaskInstance, TaskInstanceMappe
 
     @Override
     public List<TaskInstance> 
queryLastTaskInstanceListIntervalInWorkflowInstance(Integer workflowInstanceId,
-                                                                               
   Set<Long> taskCodes,
-                                                                               
   int testFlag) {
-        return mybatisMapper.findLastTaskInstances(workflowInstanceId, 
taskCodes, testFlag);
+                                                                               
   Set<Long> taskCodes) {
+        return mybatisMapper.findLastTaskInstances(workflowInstanceId, 
taskCodes);
     }
 
     @Override
-    public TaskInstance 
queryLastTaskInstanceIntervalInWorkflowInstance(Integer workflowInstanceId, 
long depTaskCode,
-                                                                        int 
testFlag) {
-        return mybatisMapper.findLastTaskInstance(workflowInstanceId, 
depTaskCode, testFlag);
+    public TaskInstance 
queryLastTaskInstanceIntervalInWorkflowInstance(Integer workflowInstanceId, 
long depTaskCode) {
+        return mybatisMapper.findLastTaskInstance(workflowInstanceId, 
depTaskCode);
     }
 
     @Override
diff --git 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/impl/WorkflowInstanceDaoImpl.java
 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/impl/WorkflowInstanceDaoImpl.java
index 1446047e2b..7ec792d864 100644
--- 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/impl/WorkflowInstanceDaoImpl.java
+++ 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/impl/WorkflowInstanceDaoImpl.java
@@ -91,14 +91,12 @@ public class WorkflowInstanceDaoImpl extends 
BaseDao<WorkflowInstance, WorkflowI
      */
     @Override
     public WorkflowInstance queryLastSchedulerWorkflowInterval(Long 
workflowDefinitionCode, Long taskDefinitionCode,
-                                                               DateInterval 
dateInterval,
-                                                               int testFlag) {
+                                                               DateInterval 
dateInterval) {
         return mybatisMapper.queryLastSchedulerWorkflow(
                 workflowDefinitionCode,
                 taskDefinitionCode,
                 dateInterval.getStartTime(),
-                dateInterval.getEndTime(),
-                testFlag);
+                dateInterval.getEndTime());
     }
 
     /**
@@ -111,13 +109,11 @@ public class WorkflowInstanceDaoImpl extends 
BaseDao<WorkflowInstance, WorkflowI
      */
     @Override
     public WorkflowInstance queryLastManualWorkflowInterval(Long 
definitionCode, Long taskCode,
-                                                            DateInterval 
dateInterval,
-                                                            int testFlag) {
+                                                            DateInterval 
dateInterval) {
         return mybatisMapper.queryLastManualWorkflow(definitionCode,
                 taskCode,
                 dateInterval.getStartTime(),
-                dateInterval.getEndTime(),
-                testFlag);
+                dateInterval.getEndTime());
     }
 
     @Override
diff --git 
a/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/TaskInstanceMapper.xml
 
b/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/TaskInstanceMapper.xml
index 6cf12d8e03..49b8f45d5c 100644
--- 
a/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/TaskInstanceMapper.xml
+++ 
b/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/TaskInstanceMapper.xml
@@ -22,13 +22,13 @@
         id, name, task_type, workflow_instance_id, workflow_instance_name, 
project_code, task_code, task_definition_version, state, submit_time,
         start_time, end_time, host, execute_path, log_path, alert_flag, 
retry_times, pid, app_link,
         flag, retry_interval, max_retry_times, task_instance_priority, 
worker_group,environment_code , executor_id, executor_name,
-        first_submit_time, delay_time, task_params, var_pool, dry_run, 
test_flag, task_group_id, cpu_quota, memory_max, task_execute_type
+        first_submit_time, delay_time, task_params, var_pool, dry_run, 
task_group_id, cpu_quota, memory_max, task_execute_type
     </sql>
     <sql id="baseSqlV2">
         ${alias}.id, ${alias}.name, ${alias}.task_type, ${alias}.task_code, 
${alias}.task_definition_version, ${alias}.workflow_instance_id, 
${alias}.state, ${alias}.submit_time,
         ${alias}.start_time, ${alias}.end_time, ${alias}.host, 
${alias}.execute_path, ${alias}.log_path, ${alias}.alert_flag, 
${alias}.retry_times, ${alias}.pid, ${alias}.app_link,
         ${alias}.flag, ${alias}.retry_interval, ${alias}.max_retry_times, 
${alias}.task_instance_priority, 
${alias}.worker_group,${alias}.environment_code , ${alias}.executor_id,
-        ${alias}.first_submit_time, ${alias}.delay_time, ${alias}.task_params, 
${alias}.var_pool, ${alias}.dry_run, ${alias}.test_flag, 
${alias}.task_group_id, ${alias}.task_execute_type
+        ${alias}.first_submit_time, ${alias}.delay_time, ${alias}.task_params, 
${alias}.var_pool, ${alias}.dry_run, ${alias}.task_group_id, 
${alias}.task_execute_type
     </sql>
     <select id="findValidTaskListByWorkflowInstanceId" 
resultType="org.apache.dolphinscheduler.dao.entity.TaskInstance">
         select
@@ -36,7 +36,6 @@
         from t_ds_task_instance
         WHERE workflow_instance_id = #{workflowInstanceId}
         and flag = #{flag}
-        and test_flag=#{testFlag}
         order by start_time desc
     </select>
     <select id="findByWorkflowInstanceId" 
resultType="org.apache.dolphinscheduler.dao.entity.TaskInstance">
@@ -244,7 +243,7 @@
         join (
         select task_code, max(end_time) as max_end_time
         from t_ds_task_instance
-        where 1=1 and test_flag = #{testFlag}
+        where 1=1
         and workflow_instance_id = #{workflowInstanceId}
         <if test="taskCodes != null and taskCodes.size() != 0">
             and task_code in
diff --git 
a/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/WorkflowInstanceMapper.xml
 
b/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/WorkflowInstanceMapper.xml
index a52e0dcd02..24ca24ab57 100644
--- 
a/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/WorkflowInstanceMapper.xml
+++ 
b/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/WorkflowInstanceMapper.xml
@@ -25,7 +25,7 @@
         warning_group_id, schedule_time, command_start_time, global_params, 
flag,
         update_time, is_sub_workflow, executor_id, history_cmd,
         workflow_instance_priority, worker_group,environment_code, timeout, 
tenant_code, var_pool,
-        dry_run, test_flag, next_workflow_instance_id, restart_time, 
state_history
+        dry_run, next_workflow_instance_id, restart_time, state_history
     </sql>
 
     <select id="queryDetailById" 
resultType="org.apache.dolphinscheduler.dao.entity.WorkflowInstance">
@@ -216,7 +216,7 @@
         select t1.* from (select
         <include refid="baseSql"/>
         from t_ds_workflow_instance
-        where workflow_definition_code=#{workflowDefinitionCode} and 
test_flag=#{testFlag}
+        where workflow_definition_code=#{workflowDefinitionCode}
         <if test="startTime != null and endTime != null ">
             and schedule_time <![CDATA[ >= ]]> #{startTime} and schedule_time 
<![CDATA[ <= ]]> #{endTime}
         </if>) as t1
@@ -235,7 +235,7 @@
             <include refid="baseSql"/>
             from t_ds_workflow_instance
             where
-            workflow_definition_code=#{workflowDefinitionCode} and 
test_flag=#{testFlag}
+            workflow_definition_code=#{workflowDefinitionCode}
             and schedule_time is null
             <if test="startTime!=null and endTime != null ">
                 and start_time <![CDATA[ >= ]]> #{startTime} and start_time 
<![CDATA[ <= ]]> #{endTime}
diff --git 
a/dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_h2.sql 
b/dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_h2.sql
index 08c57daeca..869c6c1ff3 100644
--- a/dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_h2.sql
+++ b/dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_h2.sql
@@ -334,7 +334,6 @@ CREATE TABLE t_ds_command
     dry_run                    int NULL DEFAULT 0,
     workflow_instance_id        int(11) DEFAULT 0,
     workflow_definition_version int(11) DEFAULT 0,
-    test_flag                  int NULL DEFAULT 0,
     PRIMARY KEY (id),
     KEY                        priority_id_index (workflow_instance_priority, 
id)
 );
@@ -391,7 +390,6 @@ CREATE TABLE t_ds_error_command
     dry_run                    int NULL DEFAULT 0,
     workflow_instance_id        int(11) DEFAULT 0,
     workflow_definition_version int(11) DEFAULT 0,
-    test_flag                  int NULL DEFAULT 0,
     PRIMARY KEY (id)
 );
 
@@ -617,7 +615,6 @@ CREATE TABLE t_ds_workflow_instance
     var_pool                   longtext,
     dry_run                    int NULL DEFAULT 0,
     restart_time               datetime     DEFAULT NULL,
-    test_flag                  int NULL DEFAULT 0,
     PRIMARY KEY (id)
 );
 
@@ -917,7 +914,6 @@ CREATE TABLE t_ds_task_instance
     dry_run                 int NULL DEFAULT 0,
     cpu_quota               int(11) DEFAULT '-1' NOT NULL,
     memory_max              int(11) DEFAULT '-1' NOT NULL,
-    test_flag               int NULL DEFAULT 0,
     PRIMARY KEY (id)
 );
 
diff --git 
a/dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_mysql.sql 
b/dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_mysql.sql
index bd256a0055..6cf0127d2c 100644
--- a/dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_mysql.sql
+++ b/dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_mysql.sql
@@ -342,7 +342,6 @@ CREATE TABLE `t_ds_command` (
   `tenant_code`               varchar(64) DEFAULT 'default' COMMENT 'tenant 
code',
   `environment_code`          bigint(20) DEFAULT '-1' COMMENT 'environment 
code',
   `dry_run`                   tinyint(4) DEFAULT '0' COMMENT 'dry run flag:0 
normal, 1 dry run',
-  `test_flag`                 tinyint(4) DEFAULT null COMMENT 'test flag:0 
normal, 1 test run',
   PRIMARY KEY (`id`),
   KEY `priority_id_index` (`workflow_instance_priority`,`id`) USING BTREE
 ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE = utf8_bin;
@@ -397,7 +396,6 @@ CREATE TABLE `t_ds_error_command` (
   `environment_code` bigint(20) DEFAULT '-1' COMMENT 'environment code',
   `message` text COMMENT 'message',
   `dry_run` tinyint(4) DEFAULT '0' COMMENT 'dry run flag: 0 normal, 1 dry run',
-  `test_flag` tinyint(4) DEFAULT null COMMENT 'test flag:0 normal, 1 test run',
   PRIMARY KEY (`id`) USING BTREE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE = utf8_bin;
 
@@ -625,7 +623,6 @@ CREATE TABLE `t_ds_workflow_instance` (
   `dry_run` tinyint(4) DEFAULT '0' COMMENT 'dry run flag:0 normal, 1 dry run',
   `next_workflow_instance_id` int(11) DEFAULT '0' COMMENT 'serial queue next 
workflowInstanceId',
   `restart_time` datetime DEFAULT NULL COMMENT 'workflow instance restart 
time',
-  `test_flag`  tinyint(4) DEFAULT null COMMENT 'test flag:0 normal, 1 test 
run',
   PRIMARY KEY (`id`),
   KEY `workflow_instance_index` (`workflow_definition_code`,`id`) USING BTREE,
   KEY `start_time_index` (`start_time`,`end_time`) USING BTREE
@@ -916,7 +913,6 @@ CREATE TABLE `t_ds_task_instance` (
   `dry_run` tinyint(4) DEFAULT '0' COMMENT 'dry run flag: 0 normal, 1 dry run',
   `cpu_quota` int(11) DEFAULT '-1' NOT NULL COMMENT 'cpuQuota(%): -1:Infinity',
   `memory_max` int(11) DEFAULT '-1' NOT NULL COMMENT 'MemoryMax(MB): 
-1:Infinity',
-  `test_flag`  tinyint(4) DEFAULT null COMMENT 'test flag:0 normal, 1 test 
run',
   PRIMARY KEY (`id`),
   KEY `workflow_instance_id` (`workflow_instance_id`) USING BTREE,
   KEY `idx_code_version` (`task_code`, `task_definition_version`) USING BTREE
diff --git 
a/dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_postgresql.sql 
b/dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_postgresql.sql
index ce8af49f0f..6fc1b173bc 100644
--- 
a/dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_postgresql.sql
+++ 
b/dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_postgresql.sql
@@ -269,7 +269,6 @@ CREATE TABLE t_ds_command (
   dry_run                   int DEFAULT '0' ,
   workflow_instance_id       int DEFAULT 0,
   workflow_definition_version int DEFAULT 0,
-  test_flag                 int DEFAULT NULL ,
   PRIMARY KEY (id)
 ) ;
 
@@ -319,7 +318,6 @@ CREATE TABLE t_ds_error_command (
   message                   text ,
   workflow_instance_id       int DEFAULT 0,
   workflow_definition_version int DEFAULT 0,
-  test_flag                 int DEFAULT NULL ,
   PRIMARY KEY (id)
 );
 
@@ -558,7 +556,6 @@ CREATE TABLE t_ds_workflow_instance (
   dry_run int DEFAULT '0' ,
   next_workflow_instance_id int DEFAULT '0',
   restart_time timestamp DEFAULT NULL ,
-  test_flag int DEFAULT NULL ,
   PRIMARY KEY (id)
 ) ;
 
@@ -829,7 +826,6 @@ CREATE TABLE t_ds_task_instance (
   dry_run int DEFAULT '0' ,
   cpu_quota int DEFAULT '-1' NOT NULL,
   memory_max int DEFAULT '-1' NOT NULL,
-  test_flag int DEFAULT NULL ,
   PRIMARY KEY (id)
 ) ;
 
diff --git 
a/dolphinscheduler-dao/src/main/resources/sql/upgrade/3.3.1_schema/mysql/dolphinscheduler_ddl.sql
 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/3.3.1_schema/mysql/dolphinscheduler_ddl.sql
index 63753af8c3..f4d5c2fe08 100644
--- 
a/dolphinscheduler-dao/src/main/resources/sql/upgrade/3.3.1_schema/mysql/dolphinscheduler_ddl.sql
+++ 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/3.3.1_schema/mysql/dolphinscheduler_ddl.sql
@@ -18,3 +18,7 @@
 ALTER TABLE t_ds_workflow_definition DROP PRIMARY KEY;
 ALTER TABLE t_ds_workflow_definition ADD PRIMARY KEY(id);
 ALTER TABLE t_ds_workflow_definition ADD UNIQUE KEY 
uniq_workflow_definition_code (code);
+ALTER TABLE t_ds_command DROP COLUMN test_flag;
+ALTER TABLE t_ds_error_command DROP COLUMN test_flag;
+ALTER TABLE t_ds_workflow_instance DROP COLUMN test_flag;
+ALTER TABLE t_ds_task_instance DROP COLUMN test_flag;
diff --git 
a/dolphinscheduler-dao/src/main/resources/sql/upgrade/3.3.1_schema/postgresql/dolphinscheduler_ddl.sql
 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/3.3.1_schema/postgresql/dolphinscheduler_ddl.sql
index aa83e576e0..f5dc9b2cc9 100644
--- 
a/dolphinscheduler-dao/src/main/resources/sql/upgrade/3.3.1_schema/postgresql/dolphinscheduler_ddl.sql
+++ 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/3.3.1_schema/postgresql/dolphinscheduler_ddl.sql
@@ -16,4 +16,8 @@
 */
 
 drop index if exists workflow_definition_index;
-create unique index uniq_workflow_definition_code on t_ds_workflow_definition 
(code);
\ No newline at end of file
+create unique index uniq_workflow_definition_code on t_ds_workflow_definition 
(code);
+ALTER TABLE t_ds_command DROP COLUMN test_flag;
+ALTER TABLE t_ds_error_command DROP COLUMN test_flag;
+ALTER TABLE t_ds_workflow_instance DROP COLUMN test_flag;
+ALTER TABLE t_ds_task_instance DROP COLUMN test_flag;
diff --git 
a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/entity/ErrorCommandTest.java
 
b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/entity/ErrorCommandTest.java
index e782f9e670..896fd1976f 100644
--- 
a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/entity/ErrorCommandTest.java
+++ 
b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/entity/ErrorCommandTest.java
@@ -21,7 +21,6 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import org.apache.dolphinscheduler.common.enums.CommandType;
 import org.apache.dolphinscheduler.common.enums.FailureStrategy;
-import org.apache.dolphinscheduler.common.enums.Flag;
 import org.apache.dolphinscheduler.common.enums.Priority;
 import org.apache.dolphinscheduler.common.enums.TaskDependType;
 import org.apache.dolphinscheduler.common.enums.WarningType;
@@ -54,7 +53,6 @@ class ErrorCommandTest {
         command.setTenantCode("root");
         command.setEnvironmentCode(1L);
         command.setDryRun(1);
-        command.setTestFlag(Flag.NO.getCode());
 
         ErrorCommand errorCommand = new ErrorCommand(command, "test");
         assertEquals(command.getCommandType(), errorCommand.getCommandType());
@@ -75,7 +73,6 @@ class ErrorCommandTest {
         assertEquals(command.getTenantCode(), errorCommand.getTenantCode());
         assertEquals(command.getEnvironmentCode(), 
errorCommand.getEnvironmentCode());
         assertEquals(command.getDryRun(), errorCommand.getDryRun());
-        assertEquals(command.getTestFlag(), errorCommand.getTestFlag());
         assertEquals("test", errorCommand.getMessage());
     }
 
diff --git 
a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/TaskInstanceMapperTest.java
 
b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/TaskInstanceMapperTest.java
index 97713fcba6..c9c7aa1901 100644
--- 
a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/TaskInstanceMapperTest.java
+++ 
b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/TaskInstanceMapperTest.java
@@ -74,7 +74,6 @@ public class TaskInstanceMapperTest extends BaseDaoTest {
         workflowInstance.setEndTime(new Date());
         workflowInstance.setWorkflowDefinitionCode(1L);
         workflowInstance.setProjectCode(1L);
-        workflowInstance.setTestFlag(0);
         workflowInstanceMapper.insert(workflowInstance);
         return workflowInstance;
     }
@@ -161,15 +160,13 @@ public class TaskInstanceMapperTest extends BaseDaoTest {
 
         List<TaskInstance> taskInstances = 
taskInstanceMapper.findValidTaskListByWorkflowInstanceId(
                 task.getWorkflowInstanceId(),
-                Flag.YES,
-                workflowInstance.getTestFlag());
+                Flag.YES);
 
         task2.setFlag(Flag.NO);
         taskInstanceMapper.updateById(task2);
         List<TaskInstance> taskInstances1 =
                 
taskInstanceMapper.findValidTaskListByWorkflowInstanceId(task.getWorkflowInstanceId(),
-                        Flag.NO,
-                        workflowInstance.getTestFlag());
+                        Flag.NO);
         taskInstanceMapper.deleteById(task2.getId());
         taskInstanceMapper.deleteById(task.getId());
         Assertions.assertNotEquals(0, taskInstances.size());
diff --git 
a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/WorkflowInstanceMapperTest.java
 
b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/WorkflowInstanceMapperTest.java
index ad09d6e858..952c3480e5 100644
--- 
a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/WorkflowInstanceMapperTest.java
+++ 
b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/WorkflowInstanceMapperTest.java
@@ -79,7 +79,6 @@ public class WorkflowInstanceMapperTest extends BaseDaoTest {
         workflowInstance.setStartTime(start);
         workflowInstance.setEndTime(end);
         workflowInstance.setState(WorkflowExecutionStatus.RUNNING_EXECUTION);
-        workflowInstance.setTestFlag(0);
         workflowInstanceMapper.insert(workflowInstance);
         return workflowInstance;
     }
@@ -267,8 +266,7 @@ public class WorkflowInstanceMapperTest extends BaseDaoTest 
{
         WorkflowInstance workflowInstance1 =
                 
workflowInstanceMapper.queryLastSchedulerWorkflow(workflowInstance.getWorkflowDefinitionCode(),
 0L,
                         null,
-                        null,
-                        workflowInstance.getTestFlag());
+                        null);
         Assertions.assertNotEquals(null, workflowInstance1);
         workflowInstanceMapper.deleteById(workflowInstance.getId());
     }
@@ -286,16 +284,14 @@ public class WorkflowInstanceMapperTest extends 
BaseDaoTest {
         WorkflowInstance workflowInstance1 =
                 
workflowInstanceMapper.queryLastManualWorkflow(workflowInstance.getWorkflowDefinitionCode(),
 null,
                         start,
-                        end,
-                        workflowInstance.getTestFlag());
+                        end);
         Assertions.assertEquals(workflowInstance1.getId(), 
workflowInstance.getId());
 
         start = new Date(2019 - 1900, 1 - 1, 01, 1, 0, 0);
         workflowInstance1 =
                 
workflowInstanceMapper.queryLastManualWorkflow(workflowInstance.getWorkflowDefinitionCode(),
 null,
                         start,
-                        end,
-                        workflowInstance.getTestFlag());
+                        end);
         Assertions.assertNull(workflowInstance1);
 
         workflowInstanceMapper.deleteById(workflowInstance.getId());
diff --git 
a/dolphinscheduler-extract/dolphinscheduler-extract-master/src/main/java/org/apache/dolphinscheduler/extract/master/transportor/workflow/WorkflowBackfillTriggerRequest.java
 
b/dolphinscheduler-extract/dolphinscheduler-extract-master/src/main/java/org/apache/dolphinscheduler/extract/master/transportor/workflow/WorkflowBackfillTriggerRequest.java
index d75034e68c..54c42bfdf5 100644
--- 
a/dolphinscheduler-extract/dolphinscheduler-extract-master/src/main/java/org/apache/dolphinscheduler/extract/master/transportor/workflow/WorkflowBackfillTriggerRequest.java
+++ 
b/dolphinscheduler-extract/dolphinscheduler-extract-master/src/main/java/org/apache/dolphinscheduler/extract/master/transportor/workflow/WorkflowBackfillTriggerRequest.java
@@ -74,7 +74,4 @@ public class WorkflowBackfillTriggerRequest {
     @Builder.Default
     private Flag dryRun = Flag.NO;
 
-    @Builder.Default
-    private Flag testFlag = Flag.NO;
-
 }
diff --git 
a/dolphinscheduler-extract/dolphinscheduler-extract-master/src/main/java/org/apache/dolphinscheduler/extract/master/transportor/workflow/WorkflowManualTriggerRequest.java
 
b/dolphinscheduler-extract/dolphinscheduler-extract-master/src/main/java/org/apache/dolphinscheduler/extract/master/transportor/workflow/WorkflowManualTriggerRequest.java
index 83848009c3..b08fc6576f 100644
--- 
a/dolphinscheduler-extract/dolphinscheduler-extract-master/src/main/java/org/apache/dolphinscheduler/extract/master/transportor/workflow/WorkflowManualTriggerRequest.java
+++ 
b/dolphinscheduler-extract/dolphinscheduler-extract-master/src/main/java/org/apache/dolphinscheduler/extract/master/transportor/workflow/WorkflowManualTriggerRequest.java
@@ -71,7 +71,4 @@ public class WorkflowManualTriggerRequest {
 
     @Builder.Default
     private Flag dryRun = Flag.NO;
-
-    @Builder.Default
-    private Flag testFlag = Flag.NO;
 }
diff --git 
a/dolphinscheduler-extract/dolphinscheduler-extract-master/src/main/java/org/apache/dolphinscheduler/extract/master/transportor/workflow/WorkflowScheduleTriggerRequest.java
 
b/dolphinscheduler-extract/dolphinscheduler-extract-master/src/main/java/org/apache/dolphinscheduler/extract/master/transportor/workflow/WorkflowScheduleTriggerRequest.java
index 9c49ad7d59..84de8712b1 100644
--- 
a/dolphinscheduler-extract/dolphinscheduler-extract-master/src/main/java/org/apache/dolphinscheduler/extract/master/transportor/workflow/WorkflowScheduleTriggerRequest.java
+++ 
b/dolphinscheduler-extract/dolphinscheduler-extract-master/src/main/java/org/apache/dolphinscheduler/extract/master/transportor/workflow/WorkflowScheduleTriggerRequest.java
@@ -69,7 +69,4 @@ public class WorkflowScheduleTriggerRequest {
     @Builder.Default
     private Flag dryRun = Flag.NO;
 
-    @Builder.Default
-    private Flag testFlag = Flag.NO;
-
 }
diff --git 
a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/command/handler/AbstractCommandHandler.java
 
b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/command/handler/AbstractCommandHandler.java
index edd3214473..2c9df21a87 100644
--- 
a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/command/handler/AbstractCommandHandler.java
+++ 
b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/command/handler/AbstractCommandHandler.java
@@ -148,8 +148,7 @@ public abstract class AbstractCommandHandler implements 
ICommandHandler {
 
     protected List<TaskInstance> getValidTaskInstance(final WorkflowInstance 
workflowInstance) {
         return taskInstanceDao.queryValidTaskListByWorkflowInstanceId(
-                workflowInstance.getId(),
-                workflowInstance.getTestFlag());
+                workflowInstance.getId());
     }
 
     protected void assembleProject(
diff --git 
a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/executor/plugin/condition/ConditionLogicTask.java
 
b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/executor/plugin/condition/ConditionLogicTask.java
index 7ebb6eb1d9..f341c7b5e8 100644
--- 
a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/executor/plugin/condition/ConditionLogicTask.java
+++ 
b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/executor/plugin/condition/ConditionLogicTask.java
@@ -74,7 +74,7 @@ public class ConditionLogicTask extends 
AbstractLogicTask<ConditionsParameters>
 
     private DependResult calculateConditionResult() {
         final List<TaskInstance> taskInstances = 
taskInstanceDao.queryValidTaskListByWorkflowInstanceId(
-                taskExecutionContext.getWorkflowInstanceId(), 
taskExecutionContext.getTestFlag());
+                taskExecutionContext.getWorkflowInstanceId());
         final Map<Long, TaskInstance> taskInstanceMap = taskInstances.stream()
                 .collect(Collectors.toMap(TaskInstance::getTaskCode, 
Function.identity()));
 
diff --git 
a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/executor/plugin/dependent/DependentTaskTracker.java
 
b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/executor/plugin/dependent/DependentTaskTracker.java
index 5fbfb86569..1530789b81 100644
--- 
a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/executor/plugin/dependent/DependentTaskTracker.java
+++ 
b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/executor/plugin/dependent/DependentTaskTracker.java
@@ -218,7 +218,7 @@ public class DependentTaskTracker {
         Map<String, Long> dependVarPoolEndTimeMap = new HashMap<>();
         for (DependentExecute dependentExecute : dependentTaskList) {
             DependResult dependResult =
-                    dependentExecute.getModelDependResult(dependentDate, 
workflowInstance.getTestFlag());
+                    dependentExecute.getModelDependResult(dependentDate);
             if (dependResult == DependResult.SUCCESS) {
                 Map<String, Property> varPoolPropertyMap = 
dependentExecute.getDependTaskVarPoolPropertyMap();
                 Map<String, Long> varPoolEndTimeMap = 
dependentExecute.getDependTaskVarPoolEndTimeMap();
@@ -234,7 +234,7 @@ public class DependentTaskTracker {
     private boolean isAllDependentTaskFinished() {
         boolean isAllDependentTaskFinished = true;
         for (DependentExecute dependentExecute : dependentTaskList) {
-            if (!dependentExecute.finish(dependentDate, 
workflowInstance.getTestFlag(),
+            if (!dependentExecute.finish(dependentDate,
                     dependentParameters.getDependence().getFailurePolicy(),
                     
dependentParameters.getDependence().getFailureWaitingTime())) {
                 isAllDependentTaskFinished = false;
diff --git 
a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/executor/plugin/subworkflow/SubWorkflowLogicTask.java
 
b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/executor/plugin/subworkflow/SubWorkflowLogicTask.java
index c3d734033b..a156760fb5 100644
--- 
a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/executor/plugin/subworkflow/SubWorkflowLogicTask.java
+++ 
b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/executor/plugin/subworkflow/SubWorkflowLogicTask.java
@@ -237,7 +237,6 @@ public class SubWorkflowLogicTask extends 
AbstractLogicTask<SubWorkflowParameter
                 // todo: transport varpool and local params
                 .startParamList(commandParam.getCommandParams())
                 .dryRun(Flag.of(workflowInstance.getDryRun()))
-                .testFlag(Flag.of(workflowInstance.getTestFlag()))
                 .build();
         final Integer subWorkflowInstanceId = applicationContext
                 .getBean(SubWorkflowControlClient.class)
diff --git 
a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/task/runnable/AbstractTaskInstanceFactory.java
 
b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/task/runnable/AbstractTaskInstanceFactory.java
index 37993f9405..160d0d56af 100644
--- 
a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/task/runnable/AbstractTaskInstanceFactory.java
+++ 
b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/task/runnable/AbstractTaskInstanceFactory.java
@@ -71,7 +71,6 @@ public abstract class AbstractTaskInstanceFactory<BUILDER 
extends ITaskInstanceF
         result.setCpuQuota(originTaskInstance.getCpuQuota());
         result.setMemoryMax(originTaskInstance.getMemoryMax());
         result.setTaskExecuteType(originTaskInstance.getTaskExecuteType());
-        result.setTestFlag(originTaskInstance.getTestFlag());
         return result;
     }
 
@@ -111,7 +110,6 @@ public abstract class AbstractTaskInstanceFactory<BUILDER 
extends ITaskInstanceF
         taskInstance.setVarPool(workflowInstance.getVarPool());
         taskInstance.setExecutorName(workflowInstance.getExecutorName());
         taskInstance.setDryRun(workflowInstance.getDryRun());
-        taskInstance.setTestFlag(workflowInstance.getTestFlag());
     }
 
 }
diff --git 
a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/task/runnable/TaskExecutionContextBuilder.java
 
b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/task/runnable/TaskExecutionContextBuilder.java
index 5ec43786c0..e688ec9b79 100644
--- 
a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/task/runnable/TaskExecutionContextBuilder.java
+++ 
b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/task/runnable/TaskExecutionContextBuilder.java
@@ -68,7 +68,6 @@ public class TaskExecutionContextBuilder {
         taskExecutionContext.setWorkerGroup(taskInstance.getWorkerGroup());
         taskExecutionContext.setHost(taskInstance.getHost());
         taskExecutionContext.setDryRun(taskInstance.getDryRun());
-        taskExecutionContext.setTestFlag(taskInstance.getTestFlag());
         taskExecutionContext.setCpuQuota(taskInstance.getCpuQuota());
         taskExecutionContext.setMemoryMax(taskInstance.getMemoryMax());
         taskExecutionContext.setAppIds(taskInstance.getAppLink());
@@ -125,7 +124,7 @@ public class TaskExecutionContextBuilder {
     }
 
     /**
-     * The runtime params, include local params from task, global params from 
workflow, startup params from command, varpool params from pre-task, built-in 
params from system  
+     * The runtime params, include local params from task, global params from 
workflow, startup params from command, varpool params from pre-task, built-in 
params from system
      *
      */
     public TaskExecutionContextBuilder buildPrepareParams(final Map<String, 
Property> propertyMap) {
diff --git 
a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/workflow/listener/WorkflowSuccessLifecycleListener.java
 
b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/workflow/listener/WorkflowSuccessLifecycleListener.java
index 2c704bdd31..21a44e2db9 100644
--- 
a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/workflow/listener/WorkflowSuccessLifecycleListener.java
+++ 
b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/workflow/listener/WorkflowSuccessLifecycleListener.java
@@ -97,7 +97,6 @@ public class WorkflowSuccessLifecycleListener implements 
IWorkflowLifecycleListe
                 .environmentCode(workflowInstance.getEnvironmentCode())
                 .startParamList(commandParam.getCommandParams())
                 .dryRun(Flag.of(workflowInstance.getDryRun()))
-                .testFlag(Flag.of(workflowInstance.getTestFlag()))
                 .build();
         final WorkflowBackfillTriggerResponse backfillTriggerResponse =
                 
workflowBackfillTrigger.triggerWorkflow(backfillTriggerRequest);
diff --git 
a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/workflow/trigger/WorkflowBackfillTrigger.java
 
b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/workflow/trigger/WorkflowBackfillTrigger.java
index 3e52d22f6f..9714b2f254 100644
--- 
a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/workflow/trigger/WorkflowBackfillTrigger.java
+++ 
b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/workflow/trigger/WorkflowBackfillTrigger.java
@@ -84,7 +84,6 @@ public class WorkflowBackfillTrigger
                 
EnvironmentUtils.getEnvironmentCodeOrDefault(backfillTriggerRequest.getEnvironmentCode()));
         workflowInstance.setTimeout(workflowDefinition.getTimeout());
         
workflowInstance.setDryRun(backfillTriggerRequest.getDryRun().getCode());
-        
workflowInstance.setTestFlag(backfillTriggerRequest.getTestFlag().getCode());
         return workflowInstance;
     }
 
diff --git 
a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/workflow/trigger/WorkflowManualTrigger.java
 
b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/workflow/trigger/WorkflowManualTrigger.java
index 3f29cd5454..45f5ccc0a2 100644
--- 
a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/workflow/trigger/WorkflowManualTrigger.java
+++ 
b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/workflow/trigger/WorkflowManualTrigger.java
@@ -81,7 +81,6 @@ public class WorkflowManualTrigger
                 
EnvironmentUtils.getEnvironmentCodeOrDefault(workflowManualTriggerRequest.getEnvironmentCode()));
         workflowInstance.setTimeout(workflowDefinition.getTimeout());
         
workflowInstance.setDryRun(workflowManualTriggerRequest.getDryRun().getCode());
-        
workflowInstance.setTestFlag(workflowManualTriggerRequest.getTestFlag().getCode());
         return workflowInstance;
     }
 
diff --git 
a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/workflow/trigger/WorkflowScheduleTrigger.java
 
b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/workflow/trigger/WorkflowScheduleTrigger.java
index a20ac3149d..d0a7a282d3 100644
--- 
a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/workflow/trigger/WorkflowScheduleTrigger.java
+++ 
b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/workflow/trigger/WorkflowScheduleTrigger.java
@@ -79,7 +79,6 @@ public class WorkflowScheduleTrigger
                 
EnvironmentUtils.getEnvironmentCodeOrDefault(scheduleTriggerRequest.getEnvironmentCode()));
         workflowInstance.setTimeout(workflowDefinition.getTimeout());
         
workflowInstance.setDryRun(scheduleTriggerRequest.getDryRun().getCode());
-        
workflowInstance.setTestFlag(scheduleTriggerRequest.getTestFlag().getCode());
         return workflowInstance;
     }
 
diff --git 
a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/utils/DependentExecute.java
 
b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/utils/DependentExecute.java
index 9389accb35..a66ed1bb33 100644
--- 
a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/utils/DependentExecute.java
+++ 
b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/utils/DependentExecute.java
@@ -135,10 +135,10 @@ public class DependentExecute {
      * @param currentTime   current time
      * @return DependResult
      */
-    private DependResult getDependentResultForItem(DependentItem 
dependentItem, Date currentTime, int testFlag) {
+    private DependResult getDependentResultForItem(DependentItem 
dependentItem, Date currentTime) {
         List<DateInterval> dateIntervals =
                 DependentUtils.getDateIntervalList(currentTime, 
dependentItem.getDateValue());
-        return calculateResultForTasks(dependentItem, dateIntervals, testFlag);
+        return calculateResultForTasks(dependentItem, dateIntervals);
     }
 
     /**
@@ -149,14 +149,13 @@ public class DependentExecute {
      * @return dateIntervals
      */
     private DependResult calculateResultForTasks(DependentItem dependentItem,
-                                                 List<DateInterval> 
dateIntervals,
-                                                 int testFlag) {
+                                                 List<DateInterval> 
dateIntervals) {
 
         DependResult result = DependResult.FAILED;
         for (DateInterval dateInterval : dateIntervals) {
             WorkflowInstance workflowInstance =
                     
findDependentWorkflowCandidate(dependentItem.getDefinitionCode(), 
dependentItem.getDepTaskCode(),
-                            dateInterval, testFlag);
+                            dateInterval);
             if (workflowInstance == null) {
                 return DependResult.WAITING;
             }
@@ -164,9 +163,9 @@ public class DependentExecute {
             if (dependentItem.getDepTaskCode() == 
Constants.DEPENDENT_WORKFLOW_CODE) {
                 result = dependResultByWorkflowInstance(workflowInstance);
             } else if (dependentItem.getDepTaskCode() == 
Constants.DEPENDENT_ALL_TASK_CODE) {
-                result = 
dependResultByAllTaskOfWorkflowInstance(workflowInstance, testFlag);
+                result = 
dependResultByAllTaskOfWorkflowInstance(workflowInstance);
             } else {
-                result = dependResultBySingleTaskInstance(workflowInstance, 
dependentItem.getDepTaskCode(), testFlag);
+                result = dependResultBySingleTaskInstance(workflowInstance, 
dependentItem.getDepTaskCode());
             }
             if (result != DependResult.SUCCESS) {
                 break;
@@ -199,7 +198,7 @@ public class DependentExecute {
      *
      * @return
      */
-    private DependResult 
dependResultByAllTaskOfWorkflowInstance(WorkflowInstance workflowInstance, int 
testFlag) {
+    private DependResult 
dependResultByAllTaskOfWorkflowInstance(WorkflowInstance workflowInstance) {
         if (!workflowInstance.getState().isFinished()) {
             log.info(
                     "Wait for the dependent workflow to complete, 
workflowDefinitionCode: {}, pworkflowInstanceId: {}.",
@@ -218,7 +217,7 @@ public class DependentExecute {
 
             List<TaskInstance> taskInstanceList =
                     
taskInstanceDao.queryLastTaskInstanceListIntervalInWorkflowInstance(workflowInstance.getId(),
-                            taskDefinitionCodeMap.keySet(), testFlag);
+                            taskDefinitionCodeMap.keySet());
             Map<Long, TaskExecutionStatus> taskExecutionStatusMap =
                     taskInstanceList.stream()
                             .filter(taskInstance -> 
taskInstance.getTaskExecuteType() != TaskExecuteType.STREAM)
@@ -250,14 +249,12 @@ public class DependentExecute {
      *
      * @param workflowInstance last workflow instance in the date interval
      * @param depTaskCode the dependent task code
-     * @param testFlag test flag
      * @return depend result
      */
-    private DependResult dependResultBySingleTaskInstance(WorkflowInstance 
workflowInstance, long depTaskCode,
-                                                          int testFlag) {
+    private DependResult dependResultBySingleTaskInstance(WorkflowInstance 
workflowInstance, long depTaskCode) {
         TaskInstance taskInstance =
                 
taskInstanceDao.queryLastTaskInstanceIntervalInWorkflowInstance(workflowInstance.getId(),
-                        depTaskCode, testFlag);
+                        depTaskCode);
 
         if (taskInstance == null) {
             TaskDefinition taskDefinition = 
taskDefinitionDao.queryByCode(depTaskCode);
@@ -325,8 +322,7 @@ public class DependentExecute {
      * @return workflowInstance
      */
     private WorkflowInstance findDependentWorkflowCandidate(Long 
definitionCode, Long taskCode,
-                                                            DateInterval 
dateInterval,
-                                                            int testFlag) {
+                                                            DateInterval 
dateInterval) {
         WorkflowInstance runningWorkflow =
                 
workflowInstanceDao.queryLastRunningWorkflowInterval(definitionCode, 
dateInterval);
         if (runningWorkflow != null) {
@@ -334,11 +330,10 @@ public class DependentExecute {
         }
 
         WorkflowInstance lastSchedulerWorkflowInstance =
-                
workflowInstanceDao.queryLastSchedulerWorkflowInterval(definitionCode, 
taskCode, dateInterval,
-                        testFlag);
+                
workflowInstanceDao.queryLastSchedulerWorkflowInterval(definitionCode, 
taskCode, dateInterval);
 
         WorkflowInstance lastManualWorkflowInstance =
-                
workflowInstanceDao.queryLastManualWorkflowInterval(definitionCode, taskCode, 
dateInterval, testFlag);
+                
workflowInstanceDao.queryLastManualWorkflowInterval(definitionCode, taskCode, 
dateInterval);
 
         if (lastManualWorkflowInstance == null) {
             return lastSchedulerWorkflowInstance;
@@ -387,9 +382,9 @@ public class DependentExecute {
      * @param currentTime current time
      * @return boolean
      */
-    public boolean finish(Date currentTime, int testFlag, 
DependentParameters.DependentFailurePolicyEnum failurePolicy,
+    public boolean finish(Date currentTime, 
DependentParameters.DependentFailurePolicyEnum failurePolicy,
                           Integer failureWaitingTime) {
-        DependResult modelDependResult = getModelDependResult(currentTime, 
testFlag);
+        DependResult modelDependResult = getModelDependResult(currentTime);
         if (modelDependResult == DependResult.WAITING) {
             return false;
         } else if (modelDependResult == DependResult.FAILED && 
DEPENDENT_FAILURE_WAITING == failurePolicy
@@ -406,7 +401,7 @@ public class DependentExecute {
      * @param currentTime current time
      * @return DependResult
      */
-    public DependResult getModelDependResult(Date currentTime, int testFlag) {
+    public DependResult getModelDependResult(Date currentTime) {
 
         List<DependResult> dependResultList = new ArrayList<>();
 
@@ -420,7 +415,7 @@ public class DependentExecute {
                         dependentItem.getDefinitionCode(), 
dependentItem.getDepTaskCode());
                 continue;
             }
-            DependResult dependResult = getDependResultForItem(dependentItem, 
currentTime, testFlag);
+            DependResult dependResult = getDependResultForItem(dependentItem, 
currentTime);
             if (dependResult != DependResult.WAITING) {
                 dependResultMap.put(dependentItem.getKey(), dependResult);
                 if (dependentItem.getParameterPassing() && 
!dependItemVarPoolPropertyMap.isEmpty()) {
@@ -442,12 +437,12 @@ public class DependentExecute {
      * @param currentTime current time
      * @return DependResult
      */
-    private DependResult getDependResultForItem(DependentItem item, Date 
currentTime, int testFlag) {
+    private DependResult getDependResultForItem(DependentItem item, Date 
currentTime) {
         String key = item.getKey();
         if (dependResultMap.containsKey(key)) {
             return dependResultMap.get(key);
         }
-        return getDependentResultForItem(item, currentTime, testFlag);
+        return getDependentResultForItem(item, currentTime);
     }
 
     /**
diff --git 
a/dolphinscheduler-scheduler-plugin/dolphinscheduler-scheduler-quartz/src/main/java/org/apache/dolphinscheduler/scheduler/quartz/ProcessScheduleTask.java
 
b/dolphinscheduler-scheduler-plugin/dolphinscheduler-scheduler-quartz/src/main/java/org/apache/dolphinscheduler/scheduler/quartz/ProcessScheduleTask.java
index 3523c04279..f50c698525 100644
--- 
a/dolphinscheduler-scheduler-plugin/dolphinscheduler-scheduler-quartz/src/main/java/org/apache/dolphinscheduler/scheduler/quartz/ProcessScheduleTask.java
+++ 
b/dolphinscheduler-scheduler-plugin/dolphinscheduler-scheduler-quartz/src/main/java/org/apache/dolphinscheduler/scheduler/quartz/ProcessScheduleTask.java
@@ -118,7 +118,6 @@ public class ProcessScheduleTask extends QuartzJobBean {
                 .tenantCode(schedule.getTenantCode())
                 .environmentCode(schedule.getEnvironmentCode())
                 .dryRun(Flag.NO)
-                .testFlag(Flag.NO)
                 .build();
         
workflowInstanceController.scheduleTriggerWorkflow(scheduleTriggerRequest);
     }
diff --git 
a/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/process/ProcessServiceImpl.java
 
b/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/process/ProcessServiceImpl.java
index 47dcb676f6..a92c62f57f 100644
--- 
a/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/process/ProcessServiceImpl.java
+++ 
b/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/process/ProcessServiceImpl.java
@@ -370,7 +370,6 @@ public class ProcessServiceImpl implements ProcessService {
         Integer warningGroupId = command.getWarningGroupId() == null ? 0 : 
command.getWarningGroupId();
         workflowInstance.setWarningGroupId(warningGroupId);
         workflowInstance.setDryRun(command.getDryRun());
-        workflowInstance.setTestFlag(command.getTestFlag());
 
         if (command.getScheduleTime() != null) {
             workflowInstance.setScheduleTime(command.getScheduleTime());
@@ -572,8 +571,7 @@ public class ProcessServiceImpl implements ProcessService {
             case START_FAILURE_TASK_PROCESS:
             case RECOVER_SUSPENDED_PROCESS:
                 List<TaskInstance> needToStartTaskInstances = taskInstanceDao
-                        
.queryValidTaskListByWorkflowInstanceId(workflowInstance.getId(),
-                                workflowInstance.getTestFlag())
+                        
.queryValidTaskListByWorkflowInstanceId(workflowInstance.getId())
                         .stream()
                         .filter(taskInstance -> {
                             TaskExecutionStatus state = 
taskInstance.getState();
@@ -615,8 +613,7 @@ public class ProcessServiceImpl implements ProcessService {
                 // delete all the valid tasks when complement data if id is 
not null
                 if (workflowInstance.getId() != null) {
                     List<TaskInstance> taskInstanceList =
-                            
taskInstanceDao.queryValidTaskListByWorkflowInstanceId(workflowInstance.getId(),
-                                    workflowInstance.getTestFlag());
+                            
taskInstanceDao.queryValidTaskListByWorkflowInstanceId(workflowInstance.getId());
                     for (TaskInstance taskInstance : taskInstanceList) {
                         taskInstance.setFlag(Flag.NO);
                         taskInstanceDao.updateById(taskInstance);
@@ -637,8 +634,7 @@ public class ProcessServiceImpl implements ProcessService {
                 }
                 // delete all the valid tasks when repeat running
                 List<TaskInstance> validTaskList =
-                        
taskInstanceDao.queryValidTaskListByWorkflowInstanceId(workflowInstance.getId(),
-                                workflowInstance.getTestFlag());
+                        
taskInstanceDao.queryValidTaskListByWorkflowInstanceId(workflowInstance.getId());
                 for (TaskInstance taskInstance : validTaskList) {
                     taskInstance.setFlag(Flag.NO);
                     taskInstanceDao.updateById(taskInstance);
@@ -1381,8 +1377,7 @@ public class ProcessServiceImpl implements ProcessService 
{
         if (workflowInstance != null
                 && (workflowInstance.getState().isFailure() || 
workflowInstance.getState().isStop())) {
             List<TaskInstance> validTaskList =
-                    
taskInstanceDao.queryValidTaskListByWorkflowInstanceId(workflowInstance.getId(),
-                            workflowInstance.getTestFlag());
+                    
taskInstanceDao.queryValidTaskListByWorkflowInstanceId(workflowInstance.getId());
             List<Long> instanceTaskCodeList =
                     
validTaskList.stream().map(TaskInstance::getTaskCode).collect(Collectors.toList());
             List<WorkflowTaskRelation> taskRelations = 
findRelationByCode(workflowInstance.getWorkflowDefinitionCode(),
diff --git 
a/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/TaskExecutionContext.java
 
b/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/TaskExecutionContext.java
index 12f9449924..a8f46435c1 100644
--- 
a/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/TaskExecutionContext.java
+++ 
b/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/TaskExecutionContext.java
@@ -122,8 +122,6 @@ public class TaskExecutionContext implements Serializable {
 
     private Integer memoryMax;
 
-    private int testFlag;
-
     private int dispatchFailTimes;
 
     private boolean failover;
diff --git 
a/dolphinscheduler-task-plugin/dolphinscheduler-task-sql/src/main/java/org/apache/dolphinscheduler/plugin/task/sql/SqlTask.java
 
b/dolphinscheduler-task-plugin/dolphinscheduler-task-sql/src/main/java/org/apache/dolphinscheduler/plugin/task/sql/SqlTask.java
index d4462ce2cf..76bdbbc5fb 100644
--- 
a/dolphinscheduler-task-plugin/dolphinscheduler-task-sql/src/main/java/org/apache/dolphinscheduler/plugin/task/sql/SqlTask.java
+++ 
b/dolphinscheduler-task-plugin/dolphinscheduler-task-sql/src/main/java/org/apache/dolphinscheduler/plugin/task/sql/SqlTask.java
@@ -95,7 +95,7 @@ public class SqlTask extends AbstractTask {
         if (sqlParameters == null || !sqlParameters.checkParameters()) {
             throw new TaskException("sql task params is not valid");
         }
-        if (taskExecutionContext.getTestFlag() == TEST_FLAG_YES && 
this.sqlParameters.getDatasource() == 0) {
+        if (this.sqlParameters.getDatasource() == 0) {
             throw new TaskException("unbound test data source");
         }
 
diff --git a/dolphinscheduler-ui/src/locales/en_US/project.ts 
b/dolphinscheduler-ui/src/locales/en_US/project.ts
index 7012d4b252..fca4d784b1 100644
--- a/dolphinscheduler-ui/src/locales/en_US/project.ts
+++ b/dolphinscheduler-ui/src/locales/en_US/project.ts
@@ -125,7 +125,6 @@ export default {
     complement_data: 'Complement Data',
     startup_parameter: 'Startup Parameter',
     whether_dry_run: 'Whether Dry-Run',
-    whether_test: 'Whether Test',
     continue: 'Continue',
     end: 'End',
     none_send: 'None',
diff --git a/dolphinscheduler-ui/src/locales/zh_CN/project.ts 
b/dolphinscheduler-ui/src/locales/zh_CN/project.ts
index e20043ab61..d54e5a0eae 100644
--- a/dolphinscheduler-ui/src/locales/zh_CN/project.ts
+++ b/dolphinscheduler-ui/src/locales/zh_CN/project.ts
@@ -125,7 +125,6 @@ export default {
     complement_data: '补数',
     startup_parameter: '启动参数',
     whether_dry_run: '是否空跑',
-    whether_test: '是否测试',
     continue: '继续',
     end: '结束',
     none_send: '都不发',
diff --git 
a/dolphinscheduler-ui/src/service/modules/workflow-instances/types.ts 
b/dolphinscheduler-ui/src/service/modules/workflow-instances/types.ts
index 61f34e7990..52bc977fa2 100644
--- a/dolphinscheduler-ui/src/service/modules/workflow-instances/types.ts
+++ b/dolphinscheduler-ui/src/service/modules/workflow-instances/types.ts
@@ -100,7 +100,6 @@ interface IWorkflowInstance {
   count?: number
   disabled?: boolean
   buttonType?: string
-  testFlag: number
 }
 
 export {
diff --git 
a/dolphinscheduler-ui/src/views/monitor/statistics/statistics/list-command-table.tsx
 
b/dolphinscheduler-ui/src/views/monitor/statistics/statistics/list-command-table.tsx
index d39e8a7114..b38637f917 100644
--- 
a/dolphinscheduler-ui/src/views/monitor/statistics/statistics/list-command-table.tsx
+++ 
b/dolphinscheduler-ui/src/views/monitor/statistics/statistics/list-command-table.tsx
@@ -111,9 +111,7 @@ const ListCommandTable = defineComponent({
             return h('div', [
               `Worker Group:${row.workerGroup} `,
               h('br'),
-              `Tenant Code:${row.tenantCode} `,
-              h('br'),
-              `Test Flag:${row.testFlag} `
+              `Tenant Code:${row.tenantCode} `
             ])
           }
         },
diff --git 
a/dolphinscheduler-ui/src/views/monitor/statistics/statistics/list-error-command-table.tsx
 
b/dolphinscheduler-ui/src/views/monitor/statistics/statistics/list-error-command-table.tsx
index 1da6acf4a9..7afc0ac214 100644
--- 
a/dolphinscheduler-ui/src/views/monitor/statistics/statistics/list-error-command-table.tsx
+++ 
b/dolphinscheduler-ui/src/views/monitor/statistics/statistics/list-error-command-table.tsx
@@ -111,9 +111,7 @@ const ListErrorCommandTable = defineComponent({
             return h('div', [
               `Worker Group:${row.workerGroup} `,
               h('br'),
-              `Tenant Code:${row.tenantCode} `,
-              h('br'),
-              `Test Flag:${row.testFlag} `
+              `Tenant Code:${row.tenantCode} `
             ])
           }
         },
diff --git 
a/dolphinscheduler-ui/src/views/projects/task/components/node/fields/use-datasource.ts
 
b/dolphinscheduler-ui/src/views/projects/task/components/node/fields/use-datasource.ts
index 907ee147b3..d44920cdee 100644
--- 
a/dolphinscheduler-ui/src/views/projects/task/components/node/fields/use-datasource.ts
+++ 
b/dolphinscheduler-ui/src/views/projects/task/components/node/fields/use-datasource.ts
@@ -29,7 +29,6 @@ export function useDatasource(
     typeField?: string
     sourceField?: string
     span?: Ref | number
-    testFlag?: Ref | number
   } = {}
 ): IJsonItem[] {
   const { t } = useI18n()
@@ -181,8 +180,7 @@ export function useDatasource(
 
   const refreshOptions = async () => {
     const parameters = {
-      type: model[params.typeField || 'type'],
-      testFlag: 0
+      type: model[params.typeField || 'type']
     } as TypeReq
     const res = await queryDataSourceList(parameters)
     datasourceOptions.value = res.map((item: any) => ({
diff --git 
a/dolphinscheduler-ui/src/views/projects/task/components/node/fields/use-sqoop-datasource.ts
 
b/dolphinscheduler-ui/src/views/projects/task/components/node/fields/use-sqoop-datasource.ts
index 399c88b387..f549455bfe 100644
--- 
a/dolphinscheduler-ui/src/views/projects/task/components/node/fields/use-sqoop-datasource.ts
+++ 
b/dolphinscheduler-ui/src/views/projects/task/components/node/fields/use-sqoop-datasource.ts
@@ -48,7 +48,7 @@ export function useDatasource(
         : ''
       model.targetMysqlType = type
     }
-    const params = { type, testFlag: 0 } as TypeReq
+    const params = { type } as TypeReq
     const result = await queryDataSourceList(params)
     dataSourceList.value = result.map((item: { name: string; id: number }) => 
({
       label: item.name,
diff --git a/dolphinscheduler-ui/src/views/projects/task/instance/types.ts 
b/dolphinscheduler-ui/src/views/projects/task/instance/types.ts
index aabdd6b7fa..0fcb0406ed 100644
--- a/dolphinscheduler-ui/src/views/projects/task/instance/types.ts
+++ b/dolphinscheduler-ui/src/views/projects/task/instance/types.ts
@@ -33,7 +33,6 @@ interface IRecord {
   dryRun: number
   host: string
   appLink: string
-  testFlag?: number
 }
 
 export { ITaskState, IRecord }
diff --git 
a/dolphinscheduler-ui/src/views/projects/workflow/definition/components/start-modal.tsx
 
b/dolphinscheduler-ui/src/views/projects/workflow/definition/components/start-modal.tsx
index a53f660ab2..ed9d8f69d1 100644
--- 
a/dolphinscheduler-ui/src/views/projects/workflow/definition/components/start-modal.tsx
+++ 
b/dolphinscheduler-ui/src/views/projects/workflow/definition/components/start-modal.tsx
@@ -654,13 +654,6 @@ export default defineComponent({
               v-model:value={this.startForm.dryRun}
             />
           </NFormItem>
-          <NFormItem label={t('project.workflow.whether_test')} 
path='testFlag'>
-            <NSwitch
-              checkedValue={1}
-              uncheckedValue={0}
-              v-model:value={this.startForm.testFlag}
-            />
-          </NFormItem>
         </NForm>
       </Modal>
     )
diff --git 
a/dolphinscheduler-ui/src/views/projects/workflow/definition/components/use-form.ts
 
b/dolphinscheduler-ui/src/views/projects/workflow/definition/components/use-form.ts
index 04dd7ac3e4..3575311295 100644
--- 
a/dolphinscheduler-ui/src/views/projects/workflow/definition/components/use-form.ts
+++ 
b/dolphinscheduler-ui/src/views/projects/workflow/definition/components/use-form.ts
@@ -68,7 +68,6 @@ export const useForm = () => {
       startParams: null,
       expectedParallelismNumber: '2',
       dryRun: 0,
-      testFlag: 0,
       version: null,
       allLevelDependent: 'false',
       executionOrder: 'DESC_ORDER'

Reply via email to