aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2024-06-22 08:30:18 -0700
committerchrislu <chris.lu@gmail.com>2024-06-22 08:30:18 -0700
commit82ef66cc194fe3e4338d4746f0813b3582943ec6 (patch)
tree594734bec926da030a3b0fccc1a5dda3e78ac613
parent622448b99336ba6ab9e92f1a49f020a7f8d597bd (diff)
parent73baf82f056a2ace5a52a7a76113656213c1e2cf (diff)
downloadseaweedfs-82ef66cc194fe3e4338d4746f0813b3582943ec6.tar.xz
seaweedfs-82ef66cc194fe3e4338d4746f0813b3582943ec6.zip
Merge branch 'master' of https://github.com/seaweedfs/seaweedfs
-rw-r--r--weed/shell/command_fs_verify.go7
-rw-r--r--weed/topology/topology_event_handling.go5
2 files changed, 9 insertions, 3 deletions
diff --git a/weed/shell/command_fs_verify.go b/weed/shell/command_fs_verify.go
index b30020c40..47052cca0 100644
--- a/weed/shell/command_fs_verify.go
+++ b/weed/shell/command_fs_verify.go
@@ -163,9 +163,10 @@ func (c *commandFsVerify) verifyProcessMetadata(path string, wg *sync.WaitGroup)
Directory: message.NewParentPath,
Name: message.NewEntry.Name,
})
- if strings.HasSuffix(errReq.Error(), "no entry is found in filer store") {
- return nil
- } else if errReq != nil {
+ if errReq != nil {
+ if strings.HasSuffix(errReq.Error(), "no entry is found in filer store") {
+ return nil
+ }
return errReq
}
if entryResp.Entry.Attributes.Mtime == message.NewEntry.Attributes.Mtime &&
diff --git a/weed/topology/topology_event_handling.go b/weed/topology/topology_event_handling.go
index 761649ff4..d0ecd089a 100644
--- a/weed/topology/topology_event_handling.go
+++ b/weed/topology/topology_event_handling.go
@@ -90,6 +90,11 @@ func (t *Topology) UnRegisterDataNode(dn *DataNode) {
vl.SetVolumeUnavailable(dn, v.Id)
}
+ // unregister ec shards when volume server disconnected
+ for _, s := range dn.GetEcShards() {
+ t.UnRegisterEcShards(s, dn)
+ }
+
negativeUsages := dn.GetDiskUsages().negative()
dn.UpAdjustDiskUsageDelta(negativeUsages)
dn.DeltaUpdateVolumes([]storage.VolumeInfo{}, dn.GetVolumes())