Hola, buenos dias. Luego de actualizar desde la version 3.18.1 a la 3.20.0 empezamos a experimentar grandes tiempos de espera a la hora de realizar impresiones de reportes en general desde Guarani Gestion. Lo máximo que tarda es aprox 2 minutos hasta que se genera el reporte. Aunque a veces tarda menos.
Como una solucion temporal, reiniciando el servidor de gestion, se soluciona el problema durante aprox un dia. Al dia siguiente vuelve a suceder.
Según ese comportamiento, revisamos los procesos del servidor, y el espacio en disco, los logs de apache, y la actividad en la base de datos de guarani. Todo parece estar bien.
Hola!
En nuestro caso tenemos un servidor para gestion, otro para autogestion, y otro para la base de datos.
La anomalia de tanto tiempo de espera sucede en Gestion pasado masomenos un dia luego de reiniciarlo.
El sistema y la interfaz reacciona con fluidez, es solo cuando imprimimos algo que tarda bastante en generar el reporte.
Tal vez haya algo que cambio en java o especificamente en jasper con la ultima actualizacion hacia la 3.20.0?
Hay un problema que se esta dando en SIU-Guaraní 3.20.0 por la librería “siu-toba/jasper”: “5.6.2”,, probemos haciendo un downgrade a la versión 5.6.1:
En composer.json cambia a “siu-toba/jasper”: “5.6.1”,
Ejecuta composer update siu-toba/jasper
En php.ini configura la directiva java.pipe_dir:
java.pipe_dir = <PATH-TO-GUARANI>/temp
.
4) Reiniciar Apache.
Notas: Cada vez que imprimas con Jasper vas a ver algunos warnings/notices debido a que en PHP 7.4 los reporta.
Gracias por esta posible solución.
Con respecto a esta directiva: java.pipe_dir = /temp
La agregamos a los archivos… /vendor/siu-toba/jasper/JavaBridge/WEB-INF/cgi/php.ini
/etc/php/7.4/apache2/php.ini
/etc/php/7.4/cli/php.ini
Al intentar imprimir reportes luego de hacer esos cambios, nos lleva a la pagina en blanco y ya no genera el reporte resultante. Sino que mas bien genera el siguiente error en el /var/log/apache2/error.log
[Wed Mar 23 11:09:36.636710 2022] [php7:notice] [pid 12381] [client 170.210.69.25:46672] java_InternalException: \n[TRAZA]\n\t\n\tjava_ThrowExceptionProxyFactory->getProxy \nArchivo: /var/vhosts/guarani/3.8.0/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, lInea 223 \n\t\n\tjava_Arg->getResult \nArchivo: /var/vhosts/guarani/3.8.0/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, lInea 388 \n\t\n\tjava_Client->getWrappedResult \nArchivo: /var/vhosts/guarani/3.8.0/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, lInea 394 \n\t\n\tjava_Client->getResult \nArchivo: /var/vhosts/guarani/3.8.0/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, lInea 588 \n\t\n\tjava_Client->invokeMethod \nArchivo: /var/vhosts/guarani/3.8.0/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, lInea 1795 \n\t\n\tjava_JavaProxy->__call \nArchivo: /var/vhosts/guarani/3.8.0/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, lInea 1894 \n\t\n\tjava_AbstractJava->__call \nArchivo: /var/vhosts/guarani/3.8.0/vendor/siu-toba/jasper/JavaBridge/java/Java.inc, lInea 2042 \n\t\n\tJava->__call \nArchivo: /var/vhosts/guarani/3.8.0/vendor/siu-toba/framework/php/nucleo/lib/s…SIGUE…, referer: https://sistemas.unvime.edu.ar/gestion/aplicacion.php?ah=st623b29d21aca05.74599835&ai=guarani||34000021&tz=1
Probamos hacer el comando guarani compilar ya que estamos en modo producción y el problema persiste con ese error nuevo.
Ahi pudimos solucionarlo unicamente reiniciando el servidor completo, de otro modo siempre daba ese error. Ahora funciona con la version de jasper 5.6.1.
Al final esta bien poner la instruccion en esos php.ini ? O es solo en uno de esos tres?
Buenos dias. Dejamos pasar unos dias para verificar si volvia a suceder la lentitud o no. Y al parecer sigue estando lento. Tarda actualmente unos 20 segundos en responder las impresiones.
Se podria decir que con la version 5.6.1 de jasper, el problema continua.
openjdk 11.0.9 2020-10-20
OpenJDK Runtime Environment (build 11.0.9+11-post-Debian-1deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.9+11-post-Debian-1deb10u1, mixed mode, sharing)
¿se te llena la carpeta que configuraste para java.pipe_dir?
En el sistema de archivos del servidor tenemos 74% del espacio usado. Es decir, aun queda bastante espacio si a eso se refieren con llenar tal carpeta.
No recuerdo haber configurado una carpeta especifica usando ese parametro. Posiblemente haya una carpeta por defecto al instalar hace mucho el openjdk. Lo voy a investigar y asegurarme de que la carpeta funcione y tenga movimineto de archivos.
¿muestra algún error los logs de Apache?
No hay errores relacionados a este tema en el archivo error.log de apache2.
Voy a ir revisando a fondo las referencias que mencionas tambien.
Gracias por compartir el procedimiento propuesto paso a paso. Lo hice y tambien me llevo a encontrar muchos archivos pdf en la carpeta temp del guarani. En el php.ini no teniamos configurada la directiva java.pipe_dir. Pero aun asi habia muchisimos archivos en esa carpeta. Tal vez de alguna version anterior.
Asi que tambien elimine todos los archivos con extension .pdf de esa carpeta.
La diferencia es enorme. Las impresiones y generacion de reportes se procesan en una fraccion de segundo.
Ya van pasando varios dias y sigue andando asi de fluido.
Buenos dias. Desde que migramos a la versión 3.20 empezamos con el mismo problema la lentitud de los reportes. Hice los pasos indicados en comentarios anteriores pero sigue lento. Me podrían orientar como resolverlo.
¿que versión de Guaraní tenes instalada? De la 3.20.3 en adelante ya usa "siu-toba/jasper": "v5.6.1.2", por eso quizás dice Nothing to install or update . (lo podes revisar en composer.json).