-
-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Moving away from current pin system #4763
Comments
The main considerations I can give as a pin-system user, out of the top of my head:
Is there anything different as to how the whole world can sniff other non-pinned stuff? |
Async pinning would be a huge win |
Some thoughts: I think that having pins under MFS (files api) would be very nice feature. This would get us sharding for free, helps with pin exploration and solves pin naming. We can significantly reduce complexity of GC by removing direct pins and allowing pinned items to be pinned either strongly or weakly (all content must be here vs keep whatever we have). This would allow for not extremely complex implementation of concurrent and/or incremental GC at least partially solving locking problem. Also regarding GC, we could have In case of using MFS for pinning, under the hood we would: 1. copy the file to pin MFS; 2. start fetch of MFS directory (this operation is not written but should be simple enough). Next question is: we would like to allow for selecting providers strategies per pinned item. This might be hard in case of pb-unixfs but should be very easy in case of cbor-unixfs (if it supports xattrs). Some problems: MFS would have to support non-file content (CBOR, git trees, ethereum blocks) but only in limited regard ( |
I feel it is worth mentioning that our GUI apps are going to move away from
|
It is nice, but 1. Sharding is going to be used by very low percentage of users |
No, I mean your local pins.
User MFS wouldn't require that as it would be in the same tree as ipfs files command which is already wired in into GC. |
Sharding would allow us to store and traverse large pinsets efficiently. This fixes the concern with the original issue (#4673) where the pinset was too large to operate on. Your PR would also fix this (but wouldn't give us a nice hierarchical filesystem). |
ipfs-inactive/RFC#4 made an RFC. |
As suggested by @whyrusleeping in #4757
Current pin system has several problems, as I see them:
Suggestions & reviews are welcome
My proposed PR (WIP): #4757
Another option: #4675
The text was updated successfully, but these errors were encountered: