111
targetBranchToken []byte,
112
requestID string,
114
>
rebuiltMutableState, lastTxnId, err := r.buildMutableStateFromEvent(
115
>
ctx,
116
>
now,
117
>
baseWorkflowIdentifier,
118
>
baseBranchToken,
119
>
baseLastEventID,
120
>
baseLastEventVersion,
121
>
targetWorkflowIdentifier,
122
>
targetBranchToken,
123
>
requestID,
124
>
)
125
>
if err != nil {
126
return nil, RebuildStats{}, err
127
}
128
129
// close rebuilt mutable state transaction clearing all generated tasks, etc.
130
>
_, _, err = rebuiltMutableState.CloseTransactionAsSnapshot(ctx, historyi.TransactionPolicyPassive)
state_rebuilder.go
131
>
if err != nil {
132
return nil, RebuildStats{}, err
133
}
134
135
>
rebuiltMutableState.GetExecutionInfo().LastFirstEventTxnId = lastTxnId
state_rebuilder.go
136
>
137
>
// refresh tasks to be generated
138
>
// TODO: ideally the executionTimeoutTimerTaskStatus field should be carried over
139
>
// from the base run. However, RefreshTasks always resets that field and
140
>
// force regenerates the execution timeout timer task.
141
>
if err := r.taskRefresher.Refresh(ctx, rebuiltMutableState, false); err != nil {
142
return nil, RebuildStats{}, err
143
}
144
146
>
HistorySize: r.rebuiltHistorySize,
147
>
ExternalPayloadSize: r.rebuiltExternalPayloadSize,
148
>
ExternalPayloadCount: r.rebuiltExternalPayloadCount,
149
>
}, nil
150
}
151