-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Closed
Labels
kind/bugA bug in existing code (including security flaws)A bug in existing code (including security flaws)status/deferredConscious decision to pause or backlogConscious decision to pause or backlogtopic/perfPerformancePerformance
Description
We store all pins in a single massive object so adding and removing pins is really slow when we have many pins.
This affects:
ipfs dag add --pin=true
ipfs add
ipfs pin add
ipfs pin rm
Listing pins also appears to be slow but for a different reason:
ipfs pin ls
buffers pins in memory before sending them back to the user (see pin ls should stream the result #6304).ipfs pin ls
lists all pinned blocks, directly or indirectly, by default. Callingipfs pin ls --type=recursive
is much faster.
Proposed solutions:
- Use MFS for all pins: Store pins in MFS #4675
- Named pins: Named pins & pins stored in datastore #4757, Moving away from current pin system #4763
I'm filing this issue so we can have a single issue that succinctly describes the entire issue and all variants.
Metadata
Metadata
Assignees
Labels
kind/bugA bug in existing code (including security flaws)A bug in existing code (including security flaws)status/deferredConscious decision to pause or backlogConscious decision to pause or backlogtopic/perfPerformancePerformance