aboutsummaryrefslogtreecommitdiff
path: root/weed/shell/command_volume_balance.go
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2022-08-22 14:12:23 -0700
committerchrislu <chris.lu@gmail.com>2022-08-22 14:12:23 -0700
commit676e27c589a99691ba78f010a067898d89f764ac (patch)
treecee659e16990e035b0f7a3c2ed994f1ea77cf9c2 /weed/shell/command_volume_balance.go
parent601ba5fb680eb028080160c857feda9b7044ab56 (diff)
downloadseaweedfs-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.go4
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) {