Crónica de una migración con instalación complicada 4 - Errores en ejecución
Continúa de post anterior.
Durante la puesta en producción de la aplicación generada con GeneXus 16 aparecieron algunos errores.
Object reference not set to an instance of an object. at GeneXus.Helpers.ThemeHelper. GetThemeData
Alto consumo de CPU de Worker Process.
Durante la puesta en producción de la aplicación generada con GeneXus 16 aparecieron algunos errores.
OLD(Fecha) en KB Spanish.
Se está calculando mal el valor OLD en campos fecha en la KB si tiene el lenguaje Spanish.
Por ejemplo, si un atributo fecha tenía el valor 2019-01-02, el OLD de ese atributo queda como 2002-01-19. Toma el año como dia y el dia como año.
Esta reportado y rumbo a corregirse.
Para lograr zafar de este error, tuvimos que dejar instalado en paralelo la versión anterior en Evo3, para darle una forma de escape a los usuarios que tenían que usar los programas que usaban OLD(). Como dije antes, no es bueno que convivan la version vieja y la nueva en un ambiente de balanceo de carga, pero en este caso no le encontramos otra salida.
Lo habíamos detectado en testeo, pero no pudimos reproducirlo correctamente.
Lo habíamos detectado en testeo, pero no pudimos reproducirlo correctamente.
Regla Serial
Si una transaccion, tiene 2 niveles y en el segundo nivel tiene un atributo fórmula SUM() a un tercer nivel, la regla serial repite números.
Esto es porque se cambió la forma en que se disparaban estas reglas, para tener menos roundtrip al server, segun me explicaron.
Cambiamos la programación para que esto no se diera en una transacción particular y la instalamos. Pueden aparecer otras.
Esta reportado y rumbo ya corregido por Genexus, aun no nos llego la nueva version.
Lo habíamos detectado en nuestros testeos, y lo corregimos en algún caso, pero no en todos.
Lo habíamos detectado en nuestros testeos, y lo corregimos en algún caso, pero no en todos.
En los servidores aparece un error 500 al ejecutar una sentencia.
at System.Collections.Generic.Dic tionary`2.Insert(TKey key, TValue value, Boolean add)
at GeneXus.Helpers.ThemeHelper. GetThemeData(String themeName)
at GeneXus.Helpers.ThemeHelper.
El problema está reportado aca y es por el tipo de datos y la alta concurrencia.
Genexus está arreglando el problema, para no usar un Dictionary, sino un ConcurrentDictionary y nos va a pasar un generador con ese arreglo.
Nunca nos dio en testeo este error.
Genexus está arreglando el problema, para no usar un Dictionary, sino un ConcurrentDictionary y nos va a pasar un generador con ese arreglo.
Nunca nos dio en testeo este error.
Alto consumo de CPU de Worker Process.
Por otro lado, tenemos un problema intermitente, que tal vez este relacionado con el ultimo error, es que de repente los worker process del Application Pool de LuciaXMenuNuevo quedan consumiendo cerca del 100% de la cpu y los request demoran mucho. Estamos investigando para ver si encontramos la causa, pero no es facil, detectar y corregir estos errores en produccion, pues no tenemos acceso a dichos servidores. El analisis lo hacemos con los log de acceso, los errores del event viewer del servidor, habilitando el Failed Request Tracing para algunos errores especificos (500, 403, etc) y con una lista de los request que están corriendo en el momento que se detecta la lentitud (que pueden no ser la causa del problema).
Parece que vamos a estar divertidos por un tiempito mas.
Parece que vamos a estar divertidos por un tiempito mas.
Se sabe algo al respecto de este error?
ResponderBorrarSe sabe algo de este error?
ResponderBorrarRodolfo, en el post planteo 4 errores.
BorrarTodos fueron solucionados.
Cual fué la solución al 403 aleatorio del ajax?
ResponderBorrarLa mayoria se soluciono instalando una version mas nueva de GeneXus.
BorrarHabia algunos 403 que se daban por falta de parametros, cuando estaban encriptados, en llamadas dinámicas y esos lo solucionamos cambiando la programación.