aboutsummaryrefslogtreecommitdiff
path: root/weed/shell/command_ec_rebuild.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_ec_rebuild.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_ec_rebuild.go')
-rw-r--r--weed/shell/command_ec_rebuild.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/weed/shell/command_ec_rebuild.go b/weed/shell/command_ec_rebuild.go
index 486b94059..4b2952793 100644
--- a/weed/shell/command_ec_rebuild.go
+++ b/weed/shell/command_ec_rebuild.go
@@ -131,6 +131,10 @@ func rebuildEcVolumes(commandEnv *CommandEnv, allEcNodes []*EcNode, collection s
func rebuildOneEcVolume(commandEnv *CommandEnv, rebuilder *EcNode, collection string, volumeId needle.VolumeId, locations EcShardLocations, writer io.Writer, applyChanges bool) error {
+ if !commandEnv.isLocked() {
+ return fmt.Errorf("lock is lost")
+ }
+
fmt.Printf("rebuildOneEcVolume %s %d\n", collection, volumeId)
// collect shard files to rebuilder local disk