Implement status filtering in PinTracker/Status #1360
Labels
effort/days
Estimated to take multiple days, but less than a week
exp/expert
Having worked on the specific codebase is important
P2
Medium: Good to have, but can wait until someone steps up
status/ready
Ready to be worked
Milestone
Currently, the REST API allows pin status filtering using TrackerStatus flags like:
https://github.com/ipfs/ipfs-cluster/blob/bfe179e94343321484f423d882b8770a6ecd4354/api/types.go#L84-L85
This happens on the API after the
StatusAll
RPC call to the pintracker has happened.The StatusAll implementation lists the local pinset, calls
pin ls --type recursive
on IPFS to tell if things in the local pinset are pinned or not, and finally incorporates ongoing operations to the response.For very big pinsets, the
pin ls
call is very expensive and, in particular, would not be necessary if we are filtering for things likequeued
orpinning
, which affect ongoing operations only so the information could be obtained directly from the operation tracker.Thus, doing the filtering directly on the pintracker would allow for big improvements for things like "show me all queued items" or "show me all items that are pinning".
The text was updated successfully, but these errors were encountered: