In istanbul/core/backlog.go, backlog queue is retrieved from c.backglogs map: backlog := c.backlogs[src] and if no existing one found for the given src validator, new queue is created and added to c.backlogs. Tracing back reveals that the src validator is retrieved from c.valSet#GetByAddress() in istanbul/core/handler.go.
It seems there's an scenario that c.valSet changes. This causes c.backlogs keeping on growing.
Why does c.valSet change? and if it's by design, would the fix be to housekeep c.backlogs?
In
istanbul/core/backlog.go
, backlog queue is retrieved fromc.backglogs
map:backlog := c.backlogs[src]
and if no existing one found for the givensrc
validator, new queue is created and added toc.backlogs
. Tracing back reveals that thesrc
validator is retrieved fromc.valSet#GetByAddress()
inistanbul/core/handler.go
.It seems there's an scenario that
c.valSet
changes. This causesc.backlogs
keeping on growing.Why does
c.valSet
change? and if it's by design, would the fix be to housekeepc.backlogs
?