-
Notifications
You must be signed in to change notification settings - Fork 134
Description
Opening this issue following a conversation with @2color
Description:
We're encountering an issue with our Helia-based IPFS implementation in Distributed Press (hyphacoop/api.distributed.press#101) where newly published CIDs are accessible via gateways, but older CIDs (after ~48 hours) become undiscoverable, resulting in errors like Could not find the multihash in DHT or IPNI. In contrast, we understand Kubo automatically reprovides CIDs to maintain discoverability. We're unsure if Helia's reproviding is manual or if we're missing a configuration to enable automatic reproviding similar to Kubo.
Key Question:
We expected the default 24-hour reproviding logic to handle this automatically.
- When we restart our staging server, it republishes the CIDs available at https://dp.chanterelle.xyz/v1/sites.
- Our server restarts every 6 days, so content goes undiscoverable in the interim.
- But the default reprovide threshold is 24 hours — so shouldn't Helia reprovide automatically?
Main Question:
Is reproviding in Helia manual — requiring explicit provide(cid) calls — or does kadDHT automatically reprovide CIDs once initially provided?
If it's automatic, are we missing configuration to make it work reliably beyond 48 hours?
Any tips on debugging or resolving this would be greatly appreciated!
IPFS check:
-
For latest published: https://check.ipfs.network/?cid=bafybeihsxenza22qg6dxqcxx26i7vdaj24ckx6ruwtykf2cj6a3clescsy&multiaddr=%2Fp2p%2F12D3KooWJPjj39DFCLhw81XooR6bgLukRmXLxJtvNY9Muwb3cfws&ipniIndexer=https%3A%2F%2Fcid.contact&timeoutSeconds=60&httpRetrieval=on
EDIT: This is now Garbage Collected;Could not find the multihash in DHT or IPNI
Code:
- Helia integration config: https://github.com/hyphacoop/api.distributed.press/blob/helia/protocols/ipfs.ts
- Reprovide config: https://github.com/hyphacoop/api.distributed.press/blob/9f1c6af522314d93ee4bd3d87934ed189d0516b3/protocols/ipfs.ts#L191
- We call
helia.libp2p.contentRouting.provide(cid)with retries: https://github.com/hyphacoop/api.distributed.press/blob/9f1c6af522314d93ee4bd3d87934ed189d0516b3/protocols/ipfs.ts#L325