alibaba / alibaba/bulbasaur

如果一个task节点被唤起,同时outgoing节点中配置了repeateList,无法重试outgoing节点

Open
#7 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
753
Forks
242
PR merge metrics
No merged PRs in 30d

Description

com/tmall/pokemon/bulbasaur/persist/PersistMachine.java:113
` StateLike copyCurrentState = currentState;//currentState 为final,做替身
if (currentState.getOutGoing() != null) {
//先complete 之前停掉的
completeState(currentState);
// 直接替换
copyCurrentState = run0_findCurrent(currentState.getOutGoing());
//先初始化当前
initNextState(copyCurrentState);
}`

outgoing中的BizException被算在了task上,这部分异常是不是应该拆开,outgoing节点被唤起,就可以标志task节点执行成功,outgoing节点内产生的BizException要算在outgoing身上

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at com/tmall/pokemon/bulbasaur/persist/PersistMachine.java:113 and trace how the current task and its outgoing state are completed and how BizException is assigned. Verify the retry path when an outgoing node has repeateList; done means the task is considered successful once the outgoing node is activated, with later BizException handling attributed to the outgoing node.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.