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 package topology
import ( import (
"github.com/seaweedfs/seaweedfs/weed/stats"
"github.com/seaweedfs/seaweedfs/weed/storage/erasure_coding" "github.com/seaweedfs/seaweedfs/weed/storage/erasure_coding"
"github.com/seaweedfs/seaweedfs/weed/storage/types" "github.com/seaweedfs/seaweedfs/weed/storage/types"
"google.golang.org/grpc" "google.golang.org/grpc"
@ -22,11 +23,13 @@ func (t *Topology) StartRefreshWritableVolumes(grpcDialOption grpc.DialOption, g
} }
}() }()
go func(garbageThreshold float64) { go func(garbageThreshold float64) {
c := time.Tick(15 * time.Minute) for {
for _ = range c {
if t.IsLeader() { if t.IsLeader() {
t.Vacuum(grpcDialOption, garbageThreshold, 0, "", preallocate) t.Vacuum(grpcDialOption, garbageThreshold, 0, "", preallocate)
} else {
stats.MasterReplicaPlacementMismatch.Reset()
} }
time.Sleep(14*time.Minute + time.Duration(120*rand.Float32())*time.Second)
} }
}(garbageThreshold) }(garbageThreshold)
go func() { go func() {