Redis - appendonly.aof corrupto

Redis - appendonly.aof corrupto

Después de un apagado forzoso, Redis no pudo iniciarse correctamente. Los registros (logs) muestran el siguiente error:

{"log":"1:M 10 May 2025 07:25:48.404 * DB loaded from base file appendonly.aof.782.base.rdb: 3.577 seconds\n","stream":"stdout","time":"2025-05-10T07:25:48.404514303Z"}
{"log":"1:M 10 May 2025 07:25:49.182 # Bad file format reading the append only file appendonly.aof.782.incr.aof: make a backup of your AOF file, then use ./redis-check-aof --fix \u003cfilename.manifest\u003e\n","stream":"stdout","time":"2025-05-10T07:25:49.182706082Z"}

Este error indica que el archivo appendonly.aof está corrupto. Para corregirlo, es necesario usar el comando docker, ya que el contenedor no inicia y, por lo tanto, no es posible acceder con tutor local exec redis bash.

Atención
Se recomienda realizar una copia de seguridad del archivo AOF antes de ejecutar el comando de reparación.

Pasos para corregir el problema:

  1. Accede al directorio donde se encuentran los datos de Redis:
cd .local/share/tutor/data/redis
  1. Inicia un contenedor de Redis montando el directorio actual:
docker run --rm -it -v ./:/data redis   sh

Nota
También puedes usar bash si la imagen de Redis lo permite.

  1. Dentro del contenedor, ejecuta el siguiente comando para intentar reparar el archivo AOF:
redis-check-aof --fix /path/archivo.manifest

Este comando te preguntará si deseas truncar el archivo para corregirlo. Acepta y espera a que finalice el proceso.

  1. Una vez finalizada la reparación, puedes salir del contenedor.

  2. Finalmente, inicia Redis nuevamente:

tutor local start -d redis