[Feature-3575][*] Force Task Success#3576
Conversation
更新本地的dev
1. 新添加executeType 2. 新添加对应的commandType 3. 修改controller对应的service部分 4. 补充processService中的verifyIsNeedCreateCommand的判断逻辑
1. 添加两个查询(mapper.java和mapper.xml) 2. 添加ProcessService中constructProcessInstance中对应的部分
update local dev
This reverts commit fa0bb5e.
1. 这样的话可以完整的构建整个dag,恢复之前的上下文;也没有任务可能重复执行的担忧 2. 不需要额外去处理process执行完之后的状态(主要是部分与整体的原因) 3. RecoverNodeIdList也不会重复
1. 失败任务强制成功后会继续submit后续结点 2. 失败重试的节点强制成功后会继续submit后面结点,并且停止retry 3. 对于失败的sub-process如果其中的结点强制成功了,在parent-process中不会有任何影响,只能等到结束后“从强制成功处继续执行”。
1. dataAnalysis 2. alertManager 3. businessTimeUtils的schedule选择
1. taskStateCount中添加了强制成功的状态 2. processStateCount中剔除强制成功的状态
regular update local dev
update local dev
防止logger注入的问题
|
Please resolve three code smell from sonar. |
There's still two code smells, but I think it's unnecessary to fix it. I'd like to explain in details:
|
|
Kudos, SonarCloud Quality Gate passed!
|
|
Because the number of commit is relatively large and messy, which may affect the efficiency of code review, I hereby explain each modified file: For the function that changes the task state to force success: Mainly adds an interface. For a single failed task specified by the user, the task state can be changed to force success (FORCED_SUCCESS).
For the running workflow to verify whether there is a mandatory success: is mainly to modify 'masterexecthread.java', in the 'runProcess()' method to continuously scan the current workflow to see whether any failed tasks have been successfully enforced, that is, to traverse the state of errorList in the database;
Running from force success for stopped workflows: this is mainly the addition of a new commandType that operates on the workflows using the original Execute interface.
For some Status codes: uniformly added in 'status.java' In addition to the above, the four corresponding files have been modified as follows because TaskType and CommandType have been added:
The above should be easy to understand
因为我的commit数量比较多而且相对比较凌乱,可能影响code review的效率,所以在这里对每一个改动的文件加以说明: **对于修改任务状态为强制成功这一功能:**主要是增加一个接口,对用户指定的单个失败任务,可以任务状态修改为强制成功过(FORCED_SUCCESS)。修改了以下几个文件:
**对于运行的工作流检验是否有强制成功的发生:**主要是修改了
对于停止的工作流从强制成功处运行:主要是增加一个新的commandType,利用原来的execute接口对工作流来进行操作。执行的过程会读入整个dag,然后从头到尾的检测,执行之前没有执行的,标记为FORCED_SUCCESS的任务会当做
**对于一些状态码:**统一增加在 除上述而外,因为新增了TaskType和CommandType,所以修改了4个对应的文件如下:
以上应该很容易理解
|
|
When I force success the fail job. And refresh front end , it will show like this. 我们可以添加返回所有taskstate的列表的api,这样之后就不用在添加一个新的状态时,还需要改动config文件了。@break60 #3726 |
|
This pr also Fixed #3375 |
|
Hi, please resolve the conflict.. |
OK. I've fixed the conflicts. |
Codecov Report
@@ Coverage Diff @@
## dev #3576 +/- ##
============================================
+ Coverage 39.46% 39.72% +0.25%
- Complexity 2900 2931 +31
============================================
Files 459 459
Lines 21802 21931 +129
Branches 2648 2676 +28
============================================
+ Hits 8605 8712 +107
- Misses 12394 12400 +6
- Partials 803 819 +16 Continue to review full report at Codecov.
|
|
Kudos, SonarCloud Quality Gate passed!
|
|
good job, good beginning, thanks for your participation and contribution, thanks again |


What is the purpose of the pull request
This pull request adds function of Force Task Success. See #3575
Brief change log
The main changes focus on
ApiServerandMasterServer.Verify this pull request
This pull request is already covered by existing tests, such as (please describe tests).
This change added tests and can be verified as follows: