-
-
Notifications
You must be signed in to change notification settings - Fork 3.2k
CARv2 imports broken when using the HTTP API #9361
Copy link
Copy link
Closed
Labels
effort/daysEstimated to take multiple days, but less than a weekEstimated to take multiple days, but less than a weekexp/expertHaving worked on the specific codebase is importantHaving worked on the specific codebase is importantkind/bugA bug in existing code (including security flaws)A bug in existing code (including security flaws)topic/rpc-apiIssues related to Kubo RPC API at /api/v0Issues related to Kubo RPC API at /api/v0
Metadata
Metadata
Assignees
Labels
effort/daysEstimated to take multiple days, but less than a weekEstimated to take multiple days, but less than a weekexp/expertHaving worked on the specific codebase is importantHaving worked on the specific codebase is importantkind/bugA bug in existing code (including security flaws)A bug in existing code (including security flaws)topic/rpc-apiIssues related to Kubo RPC API at /api/v0Issues related to Kubo RPC API at /api/v0
Checklist
Installation method
built from source
Version
Config
Nothing of interestDescription
Run this command while the daemon is running
This is the CAR imported in this test https://github.com/ipfs/kubo/blob/master/test/sharness/t0054-dag-car-import-export.sh#L257.
However, the test doesn't run with the daemon online (which is the most common way in which kubo is run).
IIUC the reason why this is happening is:
There's are a number of ways to handle this since it's basically an API mismatch. I suspect @guseggert, @Jorropo and @rvagg might have some opinions on the right way to do this since it's a similar issue to ipfs/go-datastore#188, golang/go#41198 and involves the go-car v2 internals.
Note for the kubo maintainers: IMO sharness tests should either test when the daemon is running or both when running and not running since having a daemon running is the most commonly use for kubo and we have run into issues like this before where there's success when no HTTP API is used, but failures over the HTTP API.