Skip to content

Commit

Permalink
avoid duplicate calls to failover
Browse files Browse the repository at this point in the history
  • Loading branch information
abhishek9686 committed Feb 12, 2025
1 parent 925bd16 commit 629356f
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions pro/logic/failover.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,12 @@ func SetFailOverCtx(failOverNode, victimNode, peerNode models.Node) error {
if victimNode.FailOverPeers == nil {
victimNode.FailOverPeers = make(map[string]struct{})
}
_, peerHasFailovered := peerNode.FailOverPeers[victimNode.ID.String()]
_, victimHasFailovered := victimNode.FailOverPeers[peerNode.ID.String()]
if peerHasFailovered && victimHasFailovered &&
victimNode.FailedOverBy == failOverNode.ID && peerNode.FailedOverBy == failOverNode.ID {
return errors.New("failover ctx is already set")
}
peerNode.FailOverPeers[victimNode.ID.String()] = struct{}{}
victimNode.FailOverPeers[peerNode.ID.String()] = struct{}{}
victimNode.FailedOverBy = failOverNode.ID
Expand Down

0 comments on commit 629356f

Please sign in to comment.