diff --git a/weed/topology/topology_event_handling.go b/weed/topology/topology_event_handling.go index 96051d25f..d0d175a39 100644 --- a/weed/topology/topology_event_handling.go +++ b/weed/topology/topology_event_handling.go @@ -1,6 +1,7 @@ package topology import ( + "github.com/seaweedfs/seaweedfs/weed/stats" "github.com/seaweedfs/seaweedfs/weed/storage/erasure_coding" "github.com/seaweedfs/seaweedfs/weed/storage/types" "google.golang.org/grpc" @@ -22,11 +23,13 @@ func (t *Topology) StartRefreshWritableVolumes(grpcDialOption grpc.DialOption, g } }() go func(garbageThreshold float64) { - c := time.Tick(15 * time.Minute) - for _ = range c { + for { if t.IsLeader() { t.Vacuum(grpcDialOption, garbageThreshold, 0, "", preallocate) + } else { + stats.MasterReplicaPlacementMismatch.Reset() } + time.Sleep(14*time.Minute + time.Duration(120*rand.Float32())*time.Second) } }(garbageThreshold) go func() {