Skip to content

Commit 8d9df0f

Browse files
claireguyotteo
authored andcommitted
[OCTRL-649][core] Correcting MIXED/ERROR logic after PR review.
1 parent a713c31 commit 8d9df0f

1 file changed

Lines changed: 6 additions & 13 deletions

File tree

core/workflow/safestate.go

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ func aggregateState(roles []Role) (state task.State) {
3939
if len(roles) == 0 {
4040
return
4141
}
42-
var rolesToCheck = make([]Role, 0)
42+
var hasBeenInError = false
4343
for _, c := range roles {
4444
taskR, isTaskRole := c.(*taskRole)
4545
callR, isCallRole := c.(*callRole)
@@ -52,20 +52,13 @@ func aggregateState(roles []Role) (state task.State) {
5252
continue
5353
}
5454
}
55-
state = state.X(c.GetState())
56-
if state == task.MIXED {
57-
rolesToCheck = append(rolesToCheck, c)
58-
}
59-
if state == task.ERROR {
60-
rolesToCheck = append(rolesToCheck, c)
55+
if c.GetState() == task.ERROR {
56+
hasBeenInError = true
6157
}
58+
state = state.X(c.GetState())
6259
}
63-
if len(rolesToCheck) > 0 {
64-
checkedState := state
65-
for _, c := range rolesToCheck {
66-
checkedState = checkedState.X(c.GetState())
67-
}
68-
state = checkedState
60+
if hasBeenInError && state == task.MIXED {
61+
state = task.ERROR
6962
}
7063
return
7164
}

0 commit comments

Comments
 (0)