Skip to content
This repository was archived by the owner on Feb 1, 2023. It is now read-only.

Commit 95cb1a0

Browse files
authored
Merge pull request #447 from ipfs/fix/panic-and-leak
fix: set the score ledger on start
2 parents b4720fa + ed0f4ed commit 95cb1a0

File tree

2 files changed

+4
-6
lines changed

2 files changed

+4
-6
lines changed

internal/decision/engine.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,10 @@ func NewEngine(ctx context.Context, bs bstore.Blockstore, peerTagger PeerTagger,
178178
func newEngine(ctx context.Context, bs bstore.Blockstore, peerTagger PeerTagger, self peer.ID,
179179
maxReplaceSize int, scoreLedger ScoreLedger) *Engine {
180180

181+
if scoreLedger == nil {
182+
scoreLedger = NewDefaultScoreLedger()
183+
}
184+
181185
e := &Engine{
182186
ledgerMap: make(map[peer.ID]*ledger),
183187
scoreLedger: scoreLedger,
@@ -221,9 +225,6 @@ func (e *Engine) UseScoreLedger(scoreLedger ScoreLedger) {
221225
// if it is unset, initializes the scoreLedger with the default
222226
// implementation.
223227
func (e *Engine) startScoreLedger(px process.Process) {
224-
if e.scoreLedger == nil {
225-
e.scoreLedger = NewDefaultScoreLedger()
226-
}
227228
e.scoreLedger.Start(func(p peer.ID, score int) {
228229
if score == 0 {
229230
e.peerTagger.UntagPeer(p, e.tagUseful)

internal/decision/scoreledger.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,6 @@ func (l *scoreledger) Receipt() *Receipt {
102102

103103
// DefaultScoreLedger is used by Engine as the default ScoreLedger.
104104
type DefaultScoreLedger struct {
105-
// a sample counting ticker
106-
ticker *time.Ticker
107105
// the score func
108106
scorePeer ScorePeerFunc
109107
// is closed on Close
@@ -333,7 +331,6 @@ func (dsl *DefaultScoreLedger) PeerDisconnected(p peer.ID) {
333331
func NewDefaultScoreLedger() *DefaultScoreLedger {
334332
return &DefaultScoreLedger{
335333
ledgerMap: make(map[peer.ID]*scoreledger),
336-
ticker: time.NewTicker(time.Millisecond * 100),
337334
closing: make(chan struct{}),
338335
peerSampleInterval: shortTerm,
339336
}

0 commit comments

Comments
 (0)