Skip to content

Remote pin ends up in "invisible" queued state #1102

@lidel

Description

@lidel

I am trying to pin 60GB of Ukrainian Wikipedia Mirror (ipfs/distributed-wikipedia-mirror#120).

Problem

I've pinned bafybeibiqlrnmws6psog7rl5ofeci3ontraitllw6wyyswnhxbwdkmw4ka via CLI ipfs pin remote add command, received no error, but there is no new pin listed in web interface, nor in CLI: ipfs pin remote ls --service=web3 --status=queued,pinning,failed,pinned shows no "queued" pins.

Debugging the "invisible" queued pin

To ensure there is no bug in go-ipfs, I sent raw HTTP request with bare minimum:

$ curl -X POST -H "Authorization: Bearer [secret]"  -H "Content-Type: application/json" -d '{"cid": "bafybeibiqlrnmws6psog7rl5ofeci3ontraitllw6wyyswnhxbwdkmw4ka", "name": "wikipedia_uk_all_maxi_2022-03.zim__via-curl"}' "https://api.web3.storage/pins"  | jq

{
  "requestId": "bf6f216a-6f89-40db-a67c-9879074fc4b2",
  "status": "queued",
  "created": "2022-03-10T20:25:39.554+00:00",
...

Ok, no error, got requestId and the pin is supposed to be in queued state.

And here is where it gets interesting: this queued pin is "invisible".

  • 💢 There is no UI in web interface for tracking "remote pin states": queued,pinning,pinned or failed.
  • 👍 Doing direct GET for pin status via https://api.web3.storage/pins/bf6f216a-6f89-40db-a67c-9879074fc4b2 returns correct response, we can see the pin is still in 'queued' state
  • 💢 Doing GET for pins in queued state via https://api.web3.storage/pins?status=queued returns no results: {"count":0,"results":[]} (missing bf6f216a-6f89-40db-a67c-9879074fc4b2 one)

So I guess the pin is in "queued" state – which is fine, nobody expects things to be pinning to start immediately – but there is a wide UX problem: no visibility into pin state via web GUI (tracked in #1077), but what is worse, also on CLI and the low level API itself (/pins?status=queued shows no "queued" pins).

I am happy to provide more details if needed.

Metadata

Metadata

Assignees

Labels

kind/bugA bug in existing code (including security flaws)need/triageNeeds initial labeling and prioritization

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions