Skip to content
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

Set a maximum amount of pending/unpinned CIDs per user #1293

Open
2 tasks
mbommerez opened this issue May 3, 2022 · 0 comments
Open
2 tasks

Set a maximum amount of pending/unpinned CIDs per user #1293

mbommerez opened this issue May 3, 2022 · 0 comments
Labels
topic/pot Issues handled by PT. topic/psa

Comments

@mbommerez
Copy link

mbommerez commented May 3, 2022

As discussed with @alanshaw - sister issue for NFT

Overarching user needs / context:

  • We've recently had a user pin hundreds of thousands of CIDs that they do not have access to and can never retrieve. This adds load to our cluster and dagcargo that is currently never resolved.
  • The idea here is to add a quota for maximum "in flight" pins. This effectively puts a per user cap on the number of pins that can be submitted that never become pinned. The user then starts to receive 4xx errors for pin requests, which should prompt them to delete bad pins. It also serves as a crude rate limiting mechanism. The idea behind is to encourage users to clean up after themselves and remove inaccessible CIDs/pin requests.

Scope of this ticket:

  • This ticket is only scoped to PSA and not to uploads

Acceptance criteria:

  • We can set a certain 'Pending Pins' quota by user
  • This amount is taken into account by the PSA API and blocks users once they take their "in flight" amount of pins over this limit.
  • Different users can have different allowed quota.

Dependencies

  • Discussed to keep this functionality in the new Elastic IPFS pinning pick-up service API, closer to the ingestion source, rather than letting the Pinning Service API handle such limits.
  • To minimise friction in user experience we should consider implementing this first: Give up trying to pin a CID after a given time threshold #812

To be clarified

We can set a certain amount of Pending Pins quota in admin.storage that is stored as a user tag

  • What's the use case for this? Can this be a constant throughout all users to start with? The per user setting could be progressive enhancement if required?
  • Define a sensible amount of in-flight requests.

Notes

@mbommerez mbommerez added need/triage Needs initial labeling and prioritization topic/pot Issues handled by PT. topic/psa labels May 4, 2022
@dchoi27 dchoi27 added pi/psa-follow-up P1 High: Likely tackled by core team if no one steps up labels May 26, 2022
@mbommerez mbommerez removed P1 High: Likely tackled by core team if no one steps up pi/psa-follow-up need/triage Needs initial labeling and prioritization labels Jul 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic/pot Issues handled by PT. topic/psa
Projects
None yet
Development

No branches or pull requests

2 participants