El eco infinito: un error de espejo de estado que aplica el efecto pero no la clave de desduplicación

Fuentes: The Infinite Echo: a State-Mirror Bug That Applies the Effect but Not the Dedup Key - Do Code That Matters

Un ingeniero ha descubierto un error en un sistema de interruptores de luz inteligentes que provocó un bucle de retroalimentación. El problema surgió cuando dos interruptores, conectados a través de MQTT, se reiniciaron después de un corte de energía. Cada interruptor aplicaba el cambio de estado y lo retransmitía, creando un bucle infinito. La causa raíz era que el sistema aplicaba el efecto del cambio de estado pero no actualizaba la clave de desduplicación, lo que hacía que cada mensaje entrante pareciera nuevo. La solución consistió en actualizar la clave de desduplicación antes de aplicar el efecto, evitando así el bucle. Este tipo de error puede aparecer en sistemas de replicación, webhooks y bucles de manejo de eventos, y la clave para evitarlo es siempre actualizar la clave de desduplicación antes de aplicar el efecto.