Error - Concurrencia de datos al eliminar persona G3.18.1

Hola, buenos días
Cuando queremos eliminar una persona, (probamos con una creada de 0 sin datos asociados) nos sale el cartel: “Error de concurrencia en la edición de los datos.Mientras Ud. editaba esta información, la misma fue modificada por alguien más. Para garantizar consistencia sólo podrá guardar cambios luego de reiniciar la edición”

En los log aparece lo que sigue, no se si tiene que ver que primero borra el documento, pero después consutla ese registro para poder eliminar la persona y ahí se hace el quilombo.

Paso log:

[DEBUG][toba] AP_TABLA: [mdp_personas_documentos]
registro: 0 - DELETE FROM mdp_personas_documentos WHERE documento = ‘142927’ AND persona = ‘132887’ AND pais_documento = ‘54’ AND tipo_documento = ‘0’ AND nro_documento = ‘12121212’ AND fecha_otorgamiento IS NULL AND fecha_vencimiento IS NULL;
[DEBUG][toba] TABLA: [mdp_personas_documentos]
RESET!!
[DEBUG][toba] TABLA: [mdp_personas_documentos]
Se resetea el cursor
[DEBUG][toba] TABLA: [mdp_personas_foto]
RESET!!
[DEBUG][toba] TABLA: [mdp_personas_foto]
Se resetea el cursor
[DEBUG][toba] TABLA: [int_pv_usuarios]
RESET!!
[DEBUG][toba] TABLA: [int_pv_usuarios]
Se resetea el cursor
[DEBUG][toba] TABLA: [mdp_personas]
Se resetea el cursor
[DEBUG][toba] AP_TABLA: [mdp_personas]
registro: 0 - DELETE FROM mdp_personas WHERE documento_principal = ‘142927’ AND uid_arai IS NULL AND persona = ‘132887’ AND apellido = ‘prueba’ AND nombres = ‘prueba’ AND sexo = ‘F’ AND fecha_nacimiento = ‘1982-05-30’ AND localidad_nacimiento IS NULL AND nacionalidad = ‘1’ AND fecha_ingreso_pais IS NULL AND pais_origen IS NULL AND usuario = ‘12121212’ AND clave IS NULL AND fecha_vencimiento_clave IS NULL AND autenticacion = ‘md5’ AND bloqueado = ‘0’ AND parametro_a IS NULL AND apellido_elegido IS NULL AND nombres_elegido IS NULL AND recibe_mensajes_x_mail = ‘1’ AND pertenece_pueblo_originario IS NULL AND pueblo_originario IS NULL AND pueblo_originario_otro IS NULL AND token IS NULL AND email_valido = ‘0’ AND id_imagen IS NULL AND email_temporal IS NULL AND tipo_usuario_inicial IS NULL;
[DEBUG][toba] ************ ABORTAR transaccion (toba_3_3@postgres116) ****************
[DEBUG][toba] ************ ABORTAR transaccion (toba_3_3@postgres116) ****************
[INFO][guarani] El manejador de entidades: RESETEAR
[INFO][guarani] ENTIDAD: Resetear
[DEBUG][toba] TABLA: [int_pv_usuarios]
RESET!!

[ERROR][guarani] Error de concurrencia en la edición de los datos.

Mientras Ud. editaba esta información, la misma fue modificada por alguien más. Para garantizar consistencia sólo podrá guardar cambios luego de reiniciar la edición.

Espero su respuesta
Saludos!

Hola Luciana,

Probé creando una persona de cero, guarde, luego le elimine el DNI y seguido elimine la persona, pero no me dio error “Error de concurrencia en la edición de los datos”.

¿nos podrías detallar el caso (si es posible envía capturas)?

¿nos podrías enviar el log completo? En vendor/siu-toba/framework/php/nucleo/componentes/persistencia/toba_ap_tabla_db.php función evt__perdida_sincronizacion guarda info en los logs.

¿tenes un pgAdmin o algún otro programa conectado a la DB de SIU-Guaraní?
Si es posible volve a probar cerrando previamente dichas conexiones a la DB.

saludos.
2

Hola Leonel, te envío el log completo y la captura de pantalla


error persona.PNG

error persona.PNG_thumb.png

sistema_log.txt (164 KB)

Hola Luciana, gracias por los logs!!!

Probé generando el mismo caso de ustedes, pero no pude reproducir el error, dejo captura.

La eliminación de la persona se hace en la función evt__eliminar de la clase php/operaciones/matriculas/personas/ci_nav_personas.php, y va invocando funciones de la clase php/nucleo/matriculas/personas/cn_ent_personas.php, finalmente se llama a la función eliminar de php/nucleo/_lib/cn_manejador_entidad_nucleo.php, ¿no tienen nada personalizado de eso?

¿que ocurre si ejecutan la siguiente query?

SELECT * FROM pg_stat_activity WHERE datname = 'db_guarani' AND state = 'active';

¿hay otra conexión abierta a la DB?

Referencia:
https://stackoverflow.com/questions/27435839/how-to-list-active-connections-on-postgresql
https://dataedo.com/kb/query/postgresql/list-database-sessions
https://serverfault.com/questions/128284/how-to-see-active-connections-and-current-activity-in-postgresql-8-4

saludos.
2


Selection_034.png

Selection_034.png

Hola Luciana,

No le prestes atención a lo que te puse antes, se debe a un bug que es de la 3.18.1 y salió arreglado en la 3.19.0.

Crea un GDS haciendo referencia a este foro así te pasamos el parche.

Ticket referencia: https://redmine.siu.edu.ar/redmine/issues/33727
GDS referencia: 52767

saludos.
2

ok, mil gracias
armé GDS NRO 53221

Buenos días,
Estoy trabajando con Guaraní 3 - Gestión en la versión 3.20.2.
Me pasa algo similar, dí de alta una persona, la inscribí a una propuesta formativa, realicé la baja de la inscripción de ese alumno en la propuesta formativa (se realizó la baja pues el alumno no tenía actividad en el sistema ni historia académica), luego intenté eliminar a la persona en cuestión y me sale un error de concurrencia, adjunto figura con el nombre ErrorConcurrencia.png. No tengo abierto el pgadmin para consultar la base de datos.
Adjunto imagen log.png con la captura del error (no tenemos personalizaciones).

Tienen idea cual puede ser el motivo del error?

Muchas gracias!

Saludos.
Natalia


ErrorConcurrencia.png

ErrorConcurrencia.png

log.png

log.png

Hola!

Detectamos ese problema y estamos analizando la solución! por favor genera una solicitud GDS haciendo referencia a este foro!

Saludos!

Hola Sergio,
Ah bien, no tengo acceso al sistema de gestión de peticiones.
Accedo a este url: https://redmine.siu.edu.ar/redmine, hago click en ingresar y me envía a https://expedientes.cin.edu.ar/idp/module.php/arai/… solicito el alta de usuario y cuando me den el alta genero el Tickets.

Muchas gracias.

Saludos.

Buenas tardes Sergio,
GDS generado, solicitud número 62956: Error de concurrencia en el sistema de gestión -guaraní 3 versión 3.20.2.
Muchas gracias.

Saludos.

Natalia

Hola, agrego a lo de Sergio:

Podes ver que campo hace que de “Error de concurrencia en la edición de los datos” de la siguiente forma:

En la función evt__perdida_sincronizacion de vendor/siu-toba/framework/php/nucleo/componentes/persistencia/toba_ap_tabla_db.php antes de que ejecute throw new toba_error_usuario($mensaje_usuario, $mensaje_debug); agrega lo siguiente:


                toba::logger()->crit("Error de concurrencia - mensaje de debug:");
                toba::logger()->crit($mensaje_debug);
		throw new toba_error_usuario($mensaje_usuario, $mensaje_debug);

Luego cuando intentes eliminar la persona te debería registrar algo como sigue en los logs (archivo instalacion/i__desarrollo/p__guarani/logs/sistema.log):


[CRITICAL][guarani] Error de concurrencia - mensaje de debug:
[CRITICAL][guarani] <p><b>Tabla:</b> mdp_personas</p><p><b>Diff de datos:</b> Cambios en fila 0 <ul><li>tipo_usuario_inicial: tenía el valor 'Preinscripcion' y ahora tiene NULL </li></ul></p><p><b>SQL:</b> DELETE FROM mdp_personas WHERE arai_identificador_sso IS NULL AND identidad_genero IS NULL AND identidad_genero_otro IS NULL AND persona = '85' AND apellido = 'Apellido ticket 45100' AND nombres = 'Nombre ticket 45100' AND sexo = 'F' AND fecha_nacimiento = '1935-02-15' AND localidad_nacimiento IS NULL AND nacionalidad = '1' AND fecha_ingreso_pais IS NULL AND pais_origen IS NULL AND usuario = '45100' AND clave = '$2a$10$/kzdvUSk370yx2OHCY7uqekarxgUbFUlynlXUvPjry.Xx1ppdgxfe' AND fecha_vencimiento_clave IS NULL AND autenticacion = 'md5' AND bloqueado = '0' AND parametro_a IS NULL AND apellido_elegido IS NULL AND nombres_elegido IS NULL AND recibe_mensajes_x_mail = '1' AND pertenece_pueblo_originario IS NULL AND pueblo_originario IS NULL AND pueblo_originario_otro IS NULL AND token IS NULL AND email_valido = '0' AND id_imagen IS NULL AND email_temporal IS NULL AND tipo_usuario_inicial = 'Preinscripcion' AND arai_uuid IS NULL;</p>

saludos.
2

Buenos días:
Podré acceder a la solución. Estamos en la v 3.18.1 y estamos teniendo el mismo inconveniente.
Muchas gracias.-

Hola Javier Horacio,

Crea un GDS y anota el numero del mismo a este foro, si estas en la versión 3.18.1 seguramente se soluciona con el ticket #33727 que salio en la versión 3.18.2.

Igualmente estaría bueno probar la Respuesta #10 para saber que campo esta causando el problema de concurrencia.

saludos.
2

Esto es lo que surge:

[CRITICAL][guarani] Error de concurrencia - mensaje de debug:
[CRITICAL][guarani]

Tabla: mdp_personas

Diff de datos: Cambios en fila 0

  • documento_principal: ten�a el valor ‘59564’ y ahora tiene NULL

SQL: DELETE FROM mdp_personas WHERE documento_principal = ‘59564’ AND uid_arai IS NULL AND persona = ‘32228’ AND apellido = ‘----’ AND nombres = ‘----’ AND sexo = ‘M’ AND fecha_nacimiento = ‘2000-01-01’ AND localidad_nacimiento IS NULL AND nacionalidad = ‘1’ AND fecha_ingreso_pais IS NULL AND pais_origen IS NULL AND usuario = ‘12312312’ AND clave IS NULL AND fecha_vencimiento_clave IS NULL AND autenticacion = ‘md5’ AND bloqueado = ‘0’ AND parametro_a IS NULL AND apellido_elegido IS NULL AND nombres_elegido IS NULL AND recibe_mensajes_x_mail = ‘1’ AND pertenece_pueblo_originario IS NULL AND pueblo_originario IS NULL AND pueblo_originario_otro IS NULL AND token IS NULL AND email_valido = ‘0’ AND id_imagen IS NULL AND email_temporal IS NULL AND tipo_usuario_inicial IS NULL;


[ERROR][guarani] Error de concurrencia en la edici�n de los datos.

Mientras Ud. editaba esta informaci�n, la misma fue modificada por alguien m�s. Para garantizar consistencia s�lo podr� guardar cambios luego de reiniciar la edici�n.

Hola Javier,

[CRITICAL][guarani]

Tabla: mdp_personas

Diff de datos: Cambios en fila 0

  • documento_principal: tenía el valor '59564' y ahora tiene NULL

Esto se solucionó en la versión 3.18.2 con el ticket 33727.

Crea un GDS que te pasamos la solución.

saludos.
2

Muchas gracias. Solicitud número 63885

Buenos días,
estamos en la versión 3.21.1 y nos ocurre el error de concurrencia al intentar eliminar una persona.

Esperamos su respuesta de cómo proceder.
Muchas gracias,
Saludos, Milva.-

Hola @malcoleas

El problema esta resuelto desde la versión 3.18.2, seguramente es otro campo el que esta molestando. Proba con esto Error - Concurrencia de datos al eliminar persona G3.18.1 - nº 11 por lleonardis y crea un GDS con el campo que genera el error de concurrencia.

saludos.
[size=1pt]2[/size]

continua via gds 66562