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

Project and repo deletion actually do not delete the db spaces + repos, and do not free disk space #3517

Closed
ignaciolg opened this issue May 20, 2024 · 1 comment
Labels

Comments

@ignaciolg
Copy link

ignaciolg commented May 20, 2024

Using gitness 3.0.0 beta 7
image

It looks like deleting projects (spaces on db) and repos actually do not delete them from the db neither the disk.

This is problematic, as the projects are still on the project selector and the disk space is not being recovered

image

image

Table and available folder
Check the id and the available folder

repo_id repo_version repo_parent_id repo_uid repo_description repo_is_public repo_created_by repo_created repo_updated repo_git_uid repo_default_branch repo_fork_id repo_pullreq_seq repo_num_forks repo_num_pulls repo_num_closed_pulls repo_num_open_pulls repo_num_merged_pulls repo_importing repo_size repo_size_updated repo_deleted repo_is_empty
5 2 3 Docker-Maldito-NUC containers 0 3 1699458420147 1716205945386 5kkugp099ch5p5zzrth398p3oaszx766c50mublqm9 main 0 0 0 0 0 0 0 0 12959 1715299202539 1716205945384 0

image

@ignaciolg ignaciolg changed the title Project and repo deletion actually do not delete the db spaces + repos, and do not free disk repos Project and repo deletion actually do not delete the db spaces + repos, and do not free disk space May 20, 2024
@atefehmohseni
Copy link
Contributor

atefehmohseni commented May 20, 2024

Hi @ignaciolg
The reason we don't immediately delete space/repos from disk is to support restore for a specific period of time (as accidental deletion happens!). Currently, there's a job that will wipe out old deleted space/repos after 90 days from the deletion time.

You can set this configuration via GITNESS_REPOS_DELETED_RETENTION_TIME="1s" , the default is "2160h" (or 90 days)

If you'd like to completely delete space/repos there's a purge API that you can use as follow:

  • Purge soft deleted repos:
    POST {{baseUrl}}/api/v1/repos/{repo-ref}/purge?deleted_at={exact repo deletion time}
    -- repo-ref can be "parent-space/repo-identifier" or repo_id (both works)
    -- deleted_at: you can fetch this value from db (table repos) (the second to last column in your screenshot)

  • Purge soft deleted spaces:
    POST {{baseUrl}}/api/v1/spaces/{space-ref}/+/purge?deleted_at={exact space deletion time}
    -- space-ref can be "space-identifier" or "space_id" (both works)
    -- deleted_at: you can fetch this value from db (table spaces)

For your convenient, the (soft) delete API returns the deleted_at timestamp, if you'd like to use it right away for future and not query db.

About UI listing deleted spaces, it's a caching issue that I'll discuss with our front-end team. cc: @rkapoor10

Hope this helps!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants