rand start garbageThreshold and reset metric ReplicaPlacementMismatch (#3396)

* rand start garbageThreshold
reset metrics MasterReplicaPlacementMismatch

* vacuum through sleep
This commit is contained in:
Konstantin Lebedev 2022-08-12 23:11:09 +03:00 committed by GitHub
parent d8c54b527e
commit 6199d9b923
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

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