Error en Vista Previa

Hola buenas tarde, estamos en SUDOCU 1.4.23

Tenemos un error al querer acceder a la vista previa en la bandeja de expedientes, no muestra el contenido y se ve de la siguiente manera:

El log en sudocu_api_server es el siguiente:

[2025-01-17T11:24:35] error_catch {
details: null,
stack: “Error: ENOENT: no such file or directory, st ‘/app/sudocu-files/cache/0ecb5ba5b95b8dc07238425a771a9545’”,
string: “ENOENT: no such file or directory, stat ‘/app/sudocu-files/cache/0ecb5ba5b95b8dc07238425a771a9545’”,
clientmessage: “ENOENT: no such file or directory, stat ‘/app/sudocu-files/cache/0ecb5ba5b95b8dc07238425a771a9545’”,
query: ‘’,
query_params: {},
usuario: ‘emorel@unpaz.edu.ar’,
url: ‘/v1/archivo/download/?hash=0ecb5ba5b95b8dc07238425a771a9545’,
msg: ‘error_catch’,
type: ‘error’,
id_err: ‘g7wy2’,
trace: “Error: ENOENT: no such file or directory, st ‘/app/sudocu-files/cache/0ecb5ba5b95b8dc07238425a771a9545’”
}
url: ‘/v1/archivo/download/?hash=bbf1f07b6c58be32b3e6b502067ace11’,

Verifiqué que el archivo si existe en el directorio mencionado en el log pero de igual manera el sistema no lo está encontrando.

Dejo los datos del archivo por si puede ser algún problema de permisos:

-rw-r–r-- 1 root root 244686 dic 17 09:56 bbf1f07b6c58be32b3e6b502067ace11

y los datos de los directorios:

drwxrwxrwx 6 root root 4096 mar 2 2024 .
drwxr-xr-x 8 root root 4096 oct 9 20:23 …
drwxr-xr-x 28 root root 4096 dic 19 16:44 adjuntos
drwxr-xr-x 2 root root 319488 ene 15 15:47 cache
drwxr-xr-x 2 root root 4096 nov 23 2021 documentos
drwxr-xr-x 2 root root 4096 mar 2 2024 tmp

Qué puedo revisar? Gracias.

Buenas tardes,

intentar limpiar la cache para que vuelva a generar los archivos al ingresar en la vista previa:

Bajar servicio sudocu
docker service rm sudocu

Eliminar el contenido del directorio cache
rm -r sudocu-files/cache/

Eliminar el contenido de la tabla cache de la base sudocu
DELETE FROM sudocu.archivos_cache

Levantar servicio sudocu


docker stack deploy --with-registry-auth --compose-file prod/sudocu/sudocu.yml sudocu

dejo link a la documentación sobre limpieza de cache:
Mantenimiento preventivo para liberar espacio en la Caché de visualización de Expedientes/Trámites

Saludos

Hola Eli,

Muchas gracias por la documentación.

Lo que hice fue desmontar y volver a montar los volúmenes y luego reiniciar el servicio SUDOCU, eso hizo que podamos volver a ver el contenido en la vista previa, pero lo que nos sucede ahora es que en el algunos expedientes aún persiste el problema, y estos faltantes ya directamente no aparecen en el directorio “caché” del servidor, por qué pudo haberse dado esto?

No realizamos ninguna de las limpiezas que dice en la documentación aún, y también consultar si una vez que se realicen estas limpiezas si se va a poder seguir accediendo a la vista previa o una vez que se borran ya no se puede acceder? Si me podés dejar en claro como funciona eso. Gracias

Hola Emi,
Si se vacía la cache se puede volver a consultar documentos con vista previa.

El funcionamiento básicamente es el siguiente:
la tabla y directorio cache se van completando a medida que se van consultando documentos desde la vista previa: si se consulta un documento por primera vez se genera una entrada en la tabla y se hace un merge del documento, este documento queda almacenado en el directorio cache. Si se vuelve a consultar el documento, al estar en la tabla cache directamente va a buscarlo al directorio sin tener que volver a hacer el merge y esto da una cierta velocidad (pero a medida que trascurre el tiempo la cache crece y es conveniente ir vaciando para no llenar el almacenamiento).

El contenido de la tabla cache debería ser consistente con el contenido del directorio, cada entrada de la tabla debe tener su correspondiente archivo en el directorio cache. Puede haber ocurrido que por alguna razón (por ejemplo problema de permisos o no estar montado el directorio) no haya podido almacenar el documento generado en el directorio y hayan entradas en la tabla cache que no tienen su correspondiente documento.

Habría que chequear si en la tabla cache aparece un regisro para ese documento que comentas. En ese caso lo mejor es vaciar la tabla cache junto con el directorio de manera que se vayan generando nuevamente los documentos y no haya inconsistencias.

Es importante que al vaciar tabla y directorio el servicio sudocu no esté disponible para que los usuarios no generen nuevas vistas previas mientras se está vaciando, asi se garantiza que tabla y directorio sean consistentes.

Espero que mi comentario haya resuelto tu duda. Saludos!

Eli,

Gracias por tu ayuda.

Pude chequear que el archivo no aparece en el directorio caché.

Según lo que nos comentaron, hubo un apagón en el datacenter, entonces pienso que al reiniciarse los servicios, parece que primero se levantó el clúster, incluyendo SUDOCU, y posteriormente se montaron los volúmenes. En este caso, SUDOCU no genera ningún mensaje de error y el sistema puede continuar funcionando normalmente, vedad? Esto habría causado el problema de vista previa en todos los expedientes, que dió origen a este hilo.

Hasta que identificamos este error, el sistema estuvo funcionando de manera incorrecta unos días, con los volúmenes mal montados. Esto generó que al crear o mover nuevos expedientes, estos no se registraran correctamente en el directorio “caché”, provocando la inconsistencia.

Una vez aplicada la solución que mencionaste, la vista previa volvió a funcionar para los expedientes antiguos, pero no para los nuevos creados durante el período en que el volumen estuvo mal montado. Es esto correcto?

Con la ayuda que me diste, entonces estos serían los pasos para solucionarlo? :

1- docker stack rm sudocu

2- rm -r sudocu-files/cache/

3- DELETE FROM sudocu.archivos_cache

4- docker stack deploy --with-registry-auth --compose-file prod/sudocu/sudocu.yml sudocu

Estos pasos serían suficiente?
Gracias nuevamente!

esos pasos permiten limpiar la cache y las nuevas vistas previas se deberían a volver a generar sin problemas, en caso de continuar con el inconveniente con algunos documentos por favor cargar una solicitud mediante GDS adjuntando los logs de sudocu y docs (incluídos los de los workers)

Hola Eli.

Para confirmarte que los pasos que mencionaste resolvieron nuestro problema, ya quedó funcionando.

Muchas gracias.