Tareas #85
open
Incidente instalaciones_terceros.py
Added by Demo MiGestion365 Admin 15 days ago.
Updated 15 days ago.
Due date:
07/15/2026 (15 days late)
Description
El proceso fallaba al ejecutar el INSERT desde ServiceNow con el error:
duplicate key value violates unique constraint "uq_instalaciones_terceros"
Key (tarea_id, origen)=(WOT0092428, SN_MTTOCORRECTIVO) already exists.
- Status changed from Nueva to En curso
Inicialmente revisamos si la duplicación provenía de:
sn.metricexistía dos veces en Producción:
sn.task
cm.ci_sfat_mfat_bfat
cm.municipio
Todas esas hipótesis fueron descartadas.
Luego verificamos el resultado del SELECT que alimenta SQL_INSERT_SN y encontramos que la tarea:WOT0092428 aparecía dos veces.
Al revisar sn.instance encontramos que la instancia de evaluación:AINST0065329 existía dos veces en Producción:
AINST0065329 | Listo para evaluar | percent_answered = 0 | taken_on = NULL
AINST0065329 | Finalizado | percent_answered = 88.24 | taken_on informado
Mientras que en DEV sólo existía la segunda fila (la finalizada).
Por qué fallaba
El JOIN:
JOIN sn.instance i
ON i.number = m.instance
encontraba dos registros para AINST0065329, por lo que generaba dos filas para:
WOT0092428
Al intentar insertarlas en:
aux.instalaciones_terceros
ambas tenían la misma clave lógica:
(WOT0092428, SN_MTTOCORRECTIVO)
La primera se insertaba y la segunda provocaba la violación de la restricción única.
Verificaciones adicionales
También analizamos:
WOT con múltiples instancias de evaluación.
Instancias (AINST) repetidas en sn.instance.
Encontramos muchos casos, pero al ejecutar la consulta que reproduce exactamente el SELECT del proceso, la única tarea que generaba múltiples filas para la clave lógica era WOT0092428.
Por eso concluimos que se trataba de un caso puntual y no de un problema general del proceso.
- Status changed from En curso to Resuelta
- % Done changed from 0 to 100
Resolución
Se eliminó de sn.instance la fila residual:
AINST0065329
percent_answered = 0
taken_on = NULL
state = 'Listo para evaluar'
Luego de la eliminación, el script volvió a ejecutarse correctamente.
**Conclusión final
** La causa del incidente fue la existencia en Producción de dos registros para la misma instancia de evaluación (AINST0065329), uno inicial y otro final. Esa situación hizo que el SELECT del proceso devolviera dos filas idénticas para la clave (WOT0092428, SN_MTTOCORRECTIVO), provocando la violación de la restricción única durante el INSERT. No se detectaron otros casos equivalentes.
- Due date set to 07/15/2026
Also available in: Atom
PDF