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())