diff options
| author | chrislu <chris.lu@gmail.com> | 2022-08-22 14:12:23 -0700 |
|---|---|---|
| committer | chrislu <chris.lu@gmail.com> | 2022-08-22 14:12:23 -0700 |
| commit | 676e27c589a99691ba78f010a067898d89f764ac (patch) | |
| tree | cee659e16990e035b0f7a3c2ed994f1ea77cf9c2 /weed/shell/command_volume_balance.go | |
| parent | 601ba5fb680eb028080160c857feda9b7044ab56 (diff) | |
| download | seaweedfs-676e27c589a99691ba78f010a067898d89f764ac.tar.xz seaweedfs-676e27c589a99691ba78f010a067898d89f764ac.zip | |
shell: stop long running jobs if lock is lost
Diffstat (limited to 'weed/shell/command_volume_balance.go')
| -rw-r--r-- | weed/shell/command_volume_balance.go | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/weed/shell/command_volume_balance.go b/weed/shell/command_volume_balance.go index 2cfe0337c..6ba376d2c 100644 --- a/weed/shell/command_volume_balance.go +++ b/weed/shell/command_volume_balance.go @@ -306,6 +306,10 @@ func attemptToMoveOneVolume(commandEnv *CommandEnv, volumeReplicas map[uint32][] func maybeMoveOneVolume(commandEnv *CommandEnv, volumeReplicas map[uint32][]*VolumeReplica, fullNode *Node, candidateVolume *master_pb.VolumeInformationMessage, emptyNode *Node, applyChange bool) (hasMoved bool, err error) { + if !commandEnv.isLocked() { + return false, fmt.Errorf("lock is lost") + } + if candidateVolume.ReplicaPlacement > 0 { replicaPlacement, _ := super_block.NewReplicaPlacementFromByte(byte(candidateVolume.ReplicaPlacement)) if !isGoodMove(replicaPlacement, volumeReplicas[candidateVolume.Id], fullNode, emptyNode) { |
