Obviously, we should be calling uninstall on the filters we create on the node. However, assuming someone didn't uninstall them, how many are stored in memory and would there be a circular buffer to keep track of them that just stores the x most recent?
1 Answer
[Disclaimer: My answer is based on reading the code.]
From the filters code - filter.go and, more importantly, filter_system.go - there doesn't appear to be an imposed limit.
The filterId
variable is an int
and is sequentially incremented for each new filter, but no overall count is maintained in the code, nor does there appear to be a buffer.
-
That sounds pretty ominous... at the very least it should limit the number of filters to something within reason. For something that is expected to run for long periods such as geth nodes, cleaning up memory would be pretty important (this post here is a great illustration of that).– bozzleCommented Aug 18, 2016 at 2:03