@@ -30,14 +30,15 @@ import (
3030 "context"
3131 "time"
3232
33+ "go.temporal.io/server/common"
34+
3335 "go.temporal.io/server/common/persistence/serialization"
3436
3537 "github.com/pborman/uuid"
3638 commonpb "go.temporal.io/api/common/v1"
3739 enumspb "go.temporal.io/api/enums/v1"
3840 "go.temporal.io/api/serviceerror"
3941
40- "go.temporal.io/server/common"
4142 "go.temporal.io/server/common/cluster"
4243 "go.temporal.io/server/common/log"
4344 "go.temporal.io/server/common/log/tag"
@@ -346,7 +347,7 @@ func (r *nDCTransactionMgrImpl) backfillWorkflowEventsReapply(
346347 baseCurrentBranchToken := baseCurrentVersionHistory .GetBranchToken ()
347348 baseNextEventID := baseMutableState .GetNextEventID ()
348349
349- if err = r .workflowResetter .resetWorkflow (
350+ err = r .workflowResetter .resetWorkflow (
350351 ctx ,
351352 namespaceID ,
352353 workflowID ,
@@ -361,7 +362,14 @@ func (r *nDCTransactionMgrImpl) backfillWorkflowEventsReapply(
361362 eventsReapplicationResetWorkflowReason ,
362363 targetWorkflowEvents .Events ,
363364 enumspb .RESET_REAPPLY_TYPE_SIGNAL ,
364- ); err != nil {
365+ )
366+ switch err .(type ) {
367+ case * serviceerror.InvalidArgument :
368+ // no-op. Usually this is due to reset workflow with pending child workflows
369+ r .logger .Warn ("Cannot reset workflow. Ignoring reapply events." , tag .Error (err ))
370+ case nil :
371+ //no-op
372+ default :
365373 return 0 , workflow .TransactionPolicyActive , err
366374 }
367375 // after the reset of target workflow (current workflow) with additional events to be reapplied
0 commit comments