You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue exists to track known memory leaks and their statuses. A memory leak is defined as a case where memory grows unbounded (intentionally or not) over time.
Peerstore
The peerstore is currently stored in memory by default and not all values are garbage collected.
For every peer we've ever connected to, we remember:
Known protocols (medium)
Public keys (medium)
Peer IDs (minor)
User agents/versions (minor)
For recently connected peers, we remember (not technically a leak as we do GC eventually):
All addresses reported by that peer (could be quite a few).
Solutions:
Switch to storing peerstore data on disk. This is currently possible but hasn't been thoroughly tested for performance.
Stop permanently storing metadata we don't need. Known protocols, public keys, etc. are only really useful while we're connected and we always re-learn them when we reconnect. We may eventually need to remember these longer but we shouldn't leak memory now for something we may need later (and could choose to store later).
This issue exists to track known memory leaks and their statuses. A memory leak is defined as a case where memory grows unbounded (intentionally or not) over time.
Peerstore
The peerstore is currently stored in memory by default and not all values are garbage collected.
For every peer we've ever connected to, we remember:
For recently connected peers, we remember (not technically a leak as we do GC eventually):
Solutions:
Metrics
We collect bandwidth (and other) metrics that we don't always do a good job of cleaning up.
Solutions:
Libp2p team: Please update this as we find new issues and resolve old ones.
The text was updated successfully, but these errors were encountered: