Servicios de Cloudflare, afectados por el segundo intercalar
El fenómeno se produjo a las 23.59.60 UTC del 31 de diciembre. Wikipedia describe el segundo intercalar, segundo adicional o segundo bisiesto como “un ajuste de un segundo para mantener los estándares de emisión de tiempo cercanos al tiempo solar medio. Los segundos intercalares son necesarios para mantener los estándares sincronizados con los calendarios civiles, cuya base es astronómica”.
En esta oportunidad se informa de menos errores y problemas que los detectados la última vez que se produjo un segundo intercalar, el 1º de julio de 2015. La penúltima vez, el 1º de julio 2012, una serie de sitios web quedaron fuera de servicio. El segundo intercalar ya prácticamente no ocasiona problemas debido a los conocimientos generalizados sobre la materia. Por ejemplo, Google ha elaborado una solución con su servicio NTP (Network Time Protocol).
En este contexto, Cloudflare, proveedor global de servicios de proxy para millones de sitios web experimentó intermitencia durante las primeras horas del año. La empresa lamenta la situación en un comunicado publicado el 1 de enero.
“La causa principal del error que afectó nuestro servicio DNS fue la convicción de que el tiempo no puede retroceder. En nuestro caso, el problema fue ocasionado por una porción de código que presuponía que la diferencia entre dos momentos dados siempre es, en el peor de los casos, cero”. El error habría sido causado por un software desarrollado por la propia Cloudflare, denominado RRDNS. La consecuencia directa fue que algunos de los recursos de los clientes de la empresa quedaron desactivados. En el comunicado se indica que aproximadamente el 0,2% de las llamadas DNS a Cloudflare, y menos del 1% de todas las llamadas HTTP se vieron afectadas. “El problema fue identificado rápidamente. El error fue solucionado, en las máquinas más afectadas, en menos de 90 minutos, antes que la actualización completa fuese distribuida a nuestros centros de datos en todo el mundo antes de las 06.45 UTC. La empresa indica que la solución consistió sencillamente de modificar una solo símbolo en el código; es decir, “if rttMax == 0” por “if rttMax <= 0“.
Por su parte, Cisco distribuyó el 30 de diciembre un comunicado donde informa que sus switches Nexus Series 5000 podían verse afectado por el segundo intercalar. La empresa atribuye la situación a que estos switches operan con un kernel de Linux que al ser sincronizado contra un servidor NTP puede ocasionar errores y desconectarse. La empresa recomendó en tal caso reiniciar el switch, que así volvería a operar sin dificultades.