4 ms·
It does not delete the whole cache on a timer. It will delete blocks that are not pinned periodically or when it reaches a high-water mark. It does not store ea
by zcw100 4y ago
It does not delete the whole cache on a timer. It will delete blocks that are not pinned periodically or when it reaches a high-water mark. It does not store each object 2 or 3 times. First, it doesn't refer to anything as an object but rather blocks and a block is only stored once. It will only be replicated if you're running a cluster in which case replication is the point.
- resonious 4y agoI don't really know anything about the Golang GC, but I would not be surprised if the process of scanning for unpinned blocks results in a lot of memory accesses. If too many useful things get evicted from the cache during that process, then I can see why GP is saying it deletes the whole cache.
- RcrdBrt 4y agoGolang has only 1 tunable GC parameter by design so it could be not opaque enough for certain loads but I learned that putting a ballast in ram fixes the too frequent GC sweeps https://eng.uber.com/how-we-saved-70k-cores-across-30-mission-critical-services/ https://eng.uber.com/how-we-saved-70k-cores-across-30-missio...
- zcw100 4y agoWhy would you ever start anything with, "I don't really know anything about the Golang GC but..." IPFS GC is separate from the Golang GC. IPFS GC deletes blocks on the local node that are not pinned. I'm not sure what you mean by "too many useful things". If it's not pinned it's evicted.
- deleted 4y ago[deleted]
- resonious 4y agoHahaha oh wow. How embarrassing. I thought the original comment was talking about Golang's GC, as they did specifically mention go-ipfs. I suppose that's your answer! Simple misunderstanding.
- hecturchi 4y agoIPFS node garbage collection is not related to Golang GC.