git.sr.ht/api
Conrad Hoffmann 8a40a82b96 api: delete repositories asynchronously
Currently, a request to delete a repository is blocked until the
repository is completely removed from the filesystem. When CephFS is
under load and a user deletes a large-ish repo, this can cause signicant
request latency, making the user abort the request or even timing out
completely. The context gets canceled, causing the transaction to roll
back, even though the data is eventually wiped completely from storage,
leaving users with broken repositories on their profile.

Instead, simply do the deletion from storage asynchronously, so that the
user gets instant feedback. Even though the deletion itself blocks for
potentially a long time, experience has shown that it finishes even in
case of cancellation. As such, I expect that the deletion will go
through even if the go-routine were to be aborted (e.g. by a restart of
the API).
2024-04-11 16:42:40 +02:00
..
account Implement user account deletion 2022-11-01 14:01:38 +01:00
graph api: delete repositories asynchronously 2024-04-11 16:42:40 +02:00
loaders api: update gqlgen 2022-03-24 11:34:19 +01:00
repos Add support for [objects]s3-insecure 2024-01-24 12:51:32 +01:00
webhooks gitsrht: Store visibility as enum instead of varchar 2022-03-14 09:59:12 +01:00
gqlgen.yml API: upgrade gqlgen 2022-10-20 14:45:25 +02:00
server.go Implement user account deletion 2022-11-01 14:01:38 +01:00