Skip to content

Commit

Permalink
*: close ticker when function returns (#4053)
Browse files Browse the repository at this point in the history
Signed-off-by: Ryan Leung <rleungx@gmail.com>

Co-authored-by: Ti Chi Robot <ti-community-prow-bot@tidb.io>
  • Loading branch information
rleungx and ti-chi-bot authored Sep 3, 2021
1 parent 2591987 commit fa09aff
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 20 deletions.
2 changes: 1 addition & 1 deletion server/cluster/coordinator_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -887,13 +887,13 @@ func BenchmarkPatrolRegion(b *testing.B) {
for {
if oc.OperatorCount(operator.OpMerge) == mergeLimit {
co.cancel()
co.wg.Add(1)
return
}
}
}()
<-listen

co.wg.Add(1)
b.ResetTimer()
co.patrolRegions()
}
Expand Down
36 changes: 17 additions & 19 deletions server/core/region_storage.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,35 +72,33 @@ func NewRegionStorage(
regionStorageCtx: regionStorageCtx,
regionStorageCancel: regionStorageCancel,
}
s.backgroundFlush()
go s.backgroundFlush()
return s, nil
}

func (s *RegionStorage) backgroundFlush() {
ticker := time.NewTicker(dirtyFlushTick)
var (
isFlush bool
err error
)
go func() {
defer ticker.Stop()
for {
select {
case <-ticker.C:
s.mu.RLock()
isFlush = s.flushTime.Before(time.Now())
s.mu.RUnlock()
if !isFlush {
continue
}
if err = s.FlushRegion(); err != nil {
log.Error("flush regions meet error", errs.ZapError(err))
}
case <-s.regionStorageCtx.Done():
return
ticker := time.NewTicker(dirtyFlushTick)
defer ticker.Stop()
for {
select {
case <-ticker.C:
s.mu.RLock()
isFlush = s.flushTime.Before(time.Now())
s.mu.RUnlock()
if !isFlush {
continue
}
if err = s.FlushRegion(); err != nil {
log.Error("flush regions meet error", errs.ZapError(err))
}
case <-s.regionStorageCtx.Done():
return
}
}()
}
}

// SaveRegion saves one region to storage.
Expand Down
1 change: 1 addition & 0 deletions server/region_syncer/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ func (s *RegionSyncer) RunServer(regionNotifier <-chan *core.RegionInfo, quit ch
var stats []*pdpb.RegionStat
var leaders []*metapb.Peer
ticker := time.NewTicker(syncerKeepAliveInterval)
defer ticker.Stop()
for {
select {
case <-quit:
Expand Down
1 change: 1 addition & 0 deletions tools/pd-tso-bench/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,7 @@ func showStats(ctx context.Context, durCh chan time.Duration) {
defer cancel()

ticker := time.NewTicker(*interval)
defer ticker.Stop()

s := newStats()
total := newStats()
Expand Down

0 comments on commit fa09aff

Please sign in to comment.