aboutsummaryrefslogtreecommitdiff
path: root/weed/shell/commands.go
diff options
context:
space:
mode:
authorKonstantin Lebedev <9497591+kmlebedev@users.noreply.github.com>2024-11-06 08:09:22 +0500
committerGitHub <noreply@github.com>2024-11-05 19:09:22 -0800
commit9a5d3e7b315b8f3b0c7355d411952f260684cebd (patch)
tree49ae367f94744c4402a2ff3005b5bbf7808849fd /weed/shell/commands.go
parent15fc58bfd99ee2ff01326d2f653c69d72db4f1f4 (diff)
downloadseaweedfs-9a5d3e7b315b8f3b0c7355d411952f260684cebd.tar.xz
seaweedfs-9a5d3e7b315b8f3b0c7355d411952f260684cebd.zip
[shell] add admin noLock for balance (#6209)
add admin noLock for balance
Diffstat (limited to 'weed/shell/commands.go')
-rw-r--r--weed/shell/commands.go5
1 files changed, 5 insertions, 0 deletions
diff --git a/weed/shell/commands.go b/weed/shell/commands.go
index 582ee560d..dbbd86f0e 100644
--- a/weed/shell/commands.go
+++ b/weed/shell/commands.go
@@ -35,6 +35,7 @@ type CommandEnv struct {
MasterClient *wdclient.MasterClient
option *ShellOptions
locker *exclusive_locks.ExclusiveLocker
+ noLock bool
}
func NewCommandEnv(options *ShellOptions) *CommandEnv {
@@ -42,6 +43,7 @@ func NewCommandEnv(options *ShellOptions) *CommandEnv {
env: make(map[string]string),
MasterClient: wdclient.NewMasterClient(options.GrpcDialOption, *options.FilerGroup, pb.AdminShellClient, "", "", "", *pb.ServerAddresses(*options.Masters).ToServiceDiscovery()),
option: options,
+ noLock: false,
}
ce.locker = exclusive_locks.NewExclusiveLocker(ce.MasterClient, "shell")
return ce
@@ -79,6 +81,9 @@ func (ce *CommandEnv) isLocked() bool {
if ce == nil {
return true
}
+ if ce.noLock {
+ return false
+ }
return ce.locker.IsLocked()
}