Wiki
Archiviazione & GC
Dashboard di archiviazione per repository (dimensione, deduplicazione, crescita) e garbage collection: pulizia di vecchie revisioni, chunks orfani, phantom files.
Introduzione
La scheda Archiviazione mostra l'occupazione del disco di un repository e fornisce uno strumento di garbage collection (GC) per recuperare spazio eliminando le vecchie revisioni e i dati diventati inutili.
Accesso e ruoli
Accessibile al super admin e a un project_admin sui repository che amministra, inclusa l'esecuzione del GC. Le statistiche globali del server e la licenza sono invece riservate al super admin (altrove nel pannello).
Le metriche
- Dimensione totale e dimensione compressa.
- Rapporto di deduplicazione (%): la quota di spazio risparmiata grazie alla condivisione dei chunks e alla compressione.
- File / revisioni / chunks.
- Crescita (ultimi 30 giorni): istogramma delle revisioni al giorno.
- File più grandi: la top 20 per dimensione, con il loro numero di revisioni.
Questi numeri aiutano a individuare un repository che si gonfia: un file binario voluminoso ricommittato spesso, o una crescita anomala negli ultimi 30 giorni.
Garbage collection
Il GC pulisce la vecchia cronologia secondo due parametri:
| Parametro | Predefinito | Ruolo |
|---|---|---|
| Retention (days) | 90 | Età al di sotto della quale una revisione viene sempre conservata. |
| Min revisions to keep | 5 | Numero di revisioni recenti conservate per file, indipendentemente dalla loro età. |
Due pulsanti:
- Preview: simula senza eliminare nulla. Banner: «Verrebbero eliminate X revisioni su Y file, verrebbero rimosse Z voci fantasma». Fai sempre prima l'anteprima.
- Run GC: esegue davvero. Banner: «X revisioni eliminate, Y chunks orfani ripuliti, Z voci fantasma rimosse». L'esecuzione viene registrata nell'audit.
Cosa elimina il GC
- Vecchie revisioni: quelle più vecchie di Retention (days) E oltre le Min revisions to keep più recenti per file. Poi i loro chunks, se non sono più referenziati da nessun'altra revisione.
- Chunks orfani: i blocchi di dati che nessuna revisione usa più dopo la pulizia.
- Phantom files: righe di file mai realmente committate (percorso non valido o una voce rimasta in sospeso), oltre una finestra fissa di 7 giorni (non configurabile).
I marcatori di eliminazione (tombstones) dei file cancellati o obliterati vengono risparmiati: servono a propagare l'eliminazione ai client durante la sync, e quindi non devono sparire.
Trappole comuni
Il Preview annuncia poche cose
Normale se il repository è recente o se la cronologia rientra nella retention. Il GC tocca solo le revisioni che sono al tempo stesso abbastanza vecchie e oltre le ultime N per file.
Preview e Run non mostrano gli stessi contatori
Il Preview non può prevedere il numero esatto di chunks e di collegamenti revisione-chunk eliminati: riporta solo le revisioni, i file scansionati e le voci fantasma. I chunks orfani compaiono solo al Run.
Abbassare la retention per recuperare spazio
Possibile, ma perdi cronologia. Su un progetto in cui bisogna poter tornare molto indietro, mantieni una retention generosa e agisci piuttosto sui file grandi (vedi la lista dei file più grandi e il .uversionignore per evitare di tracciare artefatti rigenerabili).