El "ciclo lento" del Agente en el CCIB no era lentitud — un equipo mudo retenía la tanda de tráfico
Cuándo
17-09-2026 (v1.137.4 y v1.137.5, Agente 2.27.2), sobre datos medidos en el CCIB.
Síntomas visibles
El “ciclo lento de 95-116 s” del Agente descrito en el incidente de bandwidth de esta misma franja (ver relacionados) tenía una segunda capa: medido en agent.log sobre 121 puntos de acceso, la tanda normal dura 19 segundos, pero 9 de cada ~66 inicios se iban a 100-140 segundos.
Causa raíz
Esos 9 huecos coincidían con el sondeo de prueba del cortacircuitos (circuit breaker) contra 4 puntos de acceso de refuerzo guardados en el almacén (XR17-XR20, apagados, task #323). El diseño original del cortacircuitos tenía tres fallos:
no_responseen la interfaz principal contaba como fallo para el cortacircuitos SIN dar oportunidad a ninguna interfaz adicional — cada interfaz costaba ~5,7 s medido contra un equipo apagado.- Si el Agente enmudecía a mitad de un sondeo, la tanda se cortaba ahí sin recuperar.
- El sondeo de prueba de un circuito en estado
HALF_OPENcorría dentro de la tanda de tráfico en vez de en segundo plano, así que la tanda entera esperaba a equipos que llevaban tiempo sin contestar.
Fix aplicado
bee38389(v1.137.4) — el sondeo de prueba de un circuitoHALF_OPENpasa a correr en segundo plano, fuera de la tanda; la tanda solo espera a los equipos que venían contestando. 5 tests nuevos que reproducen el caso (fallan con el código anterior).f430af79(v1.137.5) — revisión adversarial (Opus) del blindaje anterior: diagnóstico correcto pero cobertura parcial (solo 1 de 3 bucles de sondeo aplicaba el fix). Remate:extras_loopyfast_snmp_looptambién excluyen los targetsHALF_OPENde su tanda; tope propioMAX_CONCURRENT_SNMP_PROBES = 2para las pruebas en segundo plano (sin marcar como verificado — la cifra sale de aritmética sobre los 5,7 s medidos, no de una medida directa); una excepción en la prueba en segundo plano se registra en vez de perderse en silencio;update_targetscancela la prueba de un target retirado.
Sin efecto en la flota hasta compilar y publicar el binario del Agente — el servidor solo anuncia la versión del binario publicado, no la del código en el repo.
Lecciones
Lo que parecía “lentitud general del ciclo” en el incidente hermano de bandwidth tenía una causa más concreta: equipos de refuerzo guardados en un almacén, con SNMP habilitado pero apagados, cuyo sondeo de prueba periódico competía por el mismo presupuesto de tiempo que el tráfico real. Medir en agent.log en vez de asumir “el ciclo es lento” llevó a la causa exacta.
Preventivos futuros
El sondeo de prueba de un circuito en recuperación debe vivir siempre fuera de la ruta crítica de la tanda de tráfico normal — un patrón a repetir en cualquier mecanismo de circuit breaker futuro del Agente.
Véase también
- [[incident—20260916—graficas-bandwidth-caidas-falsas-eurofinance]]
- [[incident—20260915—correo-cambio-primary-ruido-reconexion]]
- [[incident—20260917—notificacion-agente-retraso-transaction-on-commit]]