uVersion
Italiano
Scarica →

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

La dashboard di archiviazione: rapporto di deduplicazione, istogramma di crescita a 30 giorni e la top 20 dei file più grandi.
  • 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 pannello GC: campi retention e min-revisioni, pulsanti Preview e Run GC, e un banner di risultato.

Il GC pulisce la vecchia cronologia secondo due parametri:

ParametroPredefinitoRuolo
Retention (days)90Età al di sotto della quale una revisione viene sempre conservata.
Min revisions to keep5Numero 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.
Il GC è distruttivo e irreversibile Le revisioni eliminate (oltre la finestra di retention) non si recuperano. Esegui un Preview prima di ogni Run GC e verifica che i numeri corrispondano a ciò che ti aspetti.

Cosa elimina il GC

  1. 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.
  2. Chunks orfani: i blocchi di dati che nessuna revisione usa più dopo la pulizia.
  3. 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).