uVersion
Español
Descargar →

Wiki

Almacenamiento y GC

Panel de almacenamiento por repositorio (tamaño, deduplicación, crecimiento) y garbage collection: purga de revisiones antiguas, chunks huérfanos, phantom files.

Introducción

La pestaña Almacenamiento muestra el uso de disco de un repositorio y ofrece una herramienta de garbage collection (GC) para recuperar espacio purgando las revisiones antiguas y los datos que han dejado de ser útiles.

Acceso y roles

Accesible para el super admin y para un project_admin en los repositorios que administra, incluida la ejecución del GC. En cambio, las estadísticas globales del servidor y la licencia quedan reservadas al super admin (en otro lugar del panel).

Las métricas

El panel de almacenamiento: ratio de deduplicación, histograma de crecimiento de 30 días y el top 20 de los archivos más grandes.
  • Tamaño total y tamaño comprimido.
  • Ratio de deduplicación (%): la parte del espacio ahorrada gracias al uso compartido de chunks y a la compresión.
  • Archivos / revisiones / chunks.
  • Crecimiento (últimos 30 días): histograma de revisiones por día.
  • Archivos más grandes: el top 20 por tamaño, con su número de revisiones.

Estas cifras ayudan a detectar un repositorio que se hincha: un archivo binario voluminoso que se vuelve a commitear a menudo, o un crecimiento anómalo en los últimos 30 días.

Garbage collection

El panel de GC: campos de retención y mínimo de revisiones, botones Preview y Run GC, y un banner de resultado.

El GC purga el historial antiguo según dos parámetros:

ParámetroPredeterminadoFunción
Retention (days)90Antigüedad por debajo de la cual una revisión siempre se conserva.
Min revisions to keep5Número de revisiones recientes conservadas por archivo, sea cual sea su antigüedad.

Dos botones:

  • Preview: simula sin eliminar nada. Banner: «Se eliminarían X revisiones en Y archivos, se retirarían Z entradas fantasma». Previsualiza siempre primero.
  • Run GC: ejecuta realmente. Banner: «X revisiones eliminadas, Y chunks huérfanos limpiados, Z entradas fantasma retiradas». La ejecución queda registrada en la auditoría.
El GC es destructivo e irreversible Las revisiones purgadas (más allá de la ventana de retención) no se recuperan. Ejecuta un Preview antes de cada Run GC y comprueba que las cifras coinciden con lo que esperas.

Qué elimina el GC

  1. Revisiones antiguas: las más antiguas que Retention (days) Y más allá de las Min revisions to keep más recientes por archivo. Después sus chunks, si ya no están referenciados por ninguna otra revisión.
  2. Chunks huérfanos: los bloques de datos que ninguna revisión usa ya tras la purga.
  3. Phantom files: filas de archivo que nunca se commitearon realmente (ruta inválida o una entrada que quedó en suspenso), más allá de una ventana fija de 7 días (no configurable).

Los marcadores de eliminación (tombstones) de los archivos borrados u obliterados se respetan: sirven para propagar la eliminación a los clientes durante la sync, y por eso no deben desaparecer.

Trampas frecuentes

El Preview anuncia muy poco

Es normal si el repositorio es reciente o si el historial cabe dentro de la retención. El GC solo toca las revisiones que son a la vez lo bastante antiguas y están más allá de las últimas N por archivo.

Preview y Run no muestran los mismos contadores

El Preview no puede predecir el número exacto de chunks ni de vínculos revisión-chunk eliminados: solo informa de las revisiones, los archivos escaneados y las entradas fantasma. Los chunks huérfanos solo aparecen en el Run.

Bajar la retención para recuperar espacio

Es posible, pero pierdes historial. En un proyecto donde hay que poder retroceder mucho en el tiempo, mantén una retención holgada y actúa más bien sobre los archivos grandes (consulta la lista de los archivos más grandes y el .uversionignore para evitar trackear artefactos regenerables).