492
),
493
)
495
>
// it is possible that resend will trigger another resend, e.g.
496
>
// 1. replicating a workflow which is a reset workflow (call this workflow `new workflow`)
497
>
// 2. base workflow (call this workflow `old workflow`) of reset workflow is deleted on
498
>
// src cluster and never replicated to target cluster
499
>
// 3. when any of events of the new workflow arrive at target cluster
500
>
// a. using base workflow info to resend until branching point between old & new workflow
501
>
// b. attempting to use old workflow history events to replay for mutable state then apply new workflow events
502
>
// c. attempt failed due to old workflow does not exist
503
>
// d. return error to resend new workflow before the branching point
504
>
505
>
if resendErr.Equal(retryErr) {
506
return false, softassert.UnexpectedDataLoss(e.Logger,
507
"failed to get requested data while resending history", nil,