Browse Source

skip resource heavy commands from running on master nodes

pull/6079/head
chrislu 3 months ago
parent
commit
6564ceda91
  1. 4
      weed/server/master_server.go
  2. 4
      weed/shell/command_volume_check_disk.go
  3. 4
      weed/shell/command_volume_fix_replication.go
  4. 4
      weed/shell/command_volume_fsck.go

4
weed/server/master_server.go

@ -314,6 +314,10 @@ func processEachCmd(reg *regexp.Regexp, line string, commandEnv *shell.CommandEn
for _, c := range shell.Commands {
if c.Name() == cmd {
if c.HasTag(shell.ResourceHeavy) {
glog.Warningf("%s is resource heavy and should not run on master", cmd)
continue
}
glog.V(0).Infof("executing: %s %v", cmd, args)
if err := c.Do(args, commandEnv, os.Stdout); err != nil {
glog.V(0).Infof("error: %v", err)

4
weed/shell/command_volume_check_disk.go

@ -48,8 +48,8 @@ func (c *commandVolumeCheckDisk) Help() string {
`
}
func (c *commandVolumeCheckDisk) HasTag(CommandTag) bool {
return false
func (c *commandVolumeCheckDisk) HasTag(tag CommandTag) bool {
return tag == ResourceHeavy
}
func (c *commandVolumeCheckDisk) getVolumeStatusFileCount(vid uint32, dn *master_pb.DataNodeInfo) (totalFileCount, deletedFileCount uint64) {

4
weed/shell/command_volume_fix_replication.go

@ -55,8 +55,8 @@ func (c *commandVolumeFixReplication) Help() string {
`
}
func (c *commandVolumeFixReplication) HasTag(CommandTag) bool {
return false
func (c *commandVolumeFixReplication) HasTag(tag CommandTag) bool {
return tag == ResourceHeavy
}
func (c *commandVolumeFixReplication) Do(args []string, commandEnv *CommandEnv, writer io.Writer) (err error) {

4
weed/shell/command_volume_fsck.go

@ -79,8 +79,8 @@ func (c *commandVolumeFsck) Help() string {
`
}
func (c *commandVolumeFsck) HasTag(CommandTag) bool {
return false
func (c *commandVolumeFsck) HasTag(tag CommandTag) bool {
return tag == ResourceHeavy
}
func (c *commandVolumeFsck) Do(args []string, commandEnv *CommandEnv, writer io.Writer) (err error) {

Loading…
Cancel
Save