20150629

Junio de 2015 tendrá 1 segundo más (leap second)

Junio de 2015 tendrá 1 segundo más (leap second)

El último minuto de junio tendrá 61 segundos. El 30 de junio de 2015, los relojes deberán contar 1 segundo adicional entre las 23:59:59 UTC del 30 de junio y las 00:00:00 UTC del 1 de julio. Este segundo intercalar 23:59:60 es un ajuste en la escala de tiempos UTC para compensar las diferencias entre la hora UTC y la hora solar (UT1) debida a variaciones en la velocidad de rotación de la Tierra. La decisión de insertar segundos intercalares positivos o negativos está en manos del servicio International Earth Rotation and Reference Systems (IERS), que anunció en su boletín de enero la necesidad de este ajuste.

La última vez que sufrimos un segundo intercalar (30 de junio de 2012, hace tres años), el kernel linux mostró un fallo de programación que ocasionó cuelgues e interrupciones de servicio en varios sitios web (fue comentado en Barrapunto). Aunque el fallo de 2012 fue reparado, y el propio Linus Torvalds afirme que no esperan problemas con el kernel durante el segundo adicional de 2015, muy pocas aplicaciones han sido realmente validadas para gestionar este segundo adicional; la solución más segura pasa por ensayar con anticipación el efecto del segundo intercalar en nuestros sistemas, utilizando alguna de las herramientas de prueba disponibles.

Algunas organizaciones quieren ahorrarse problemas, y ya han anunciado que no aplicarán el segundo adicional en el instante preciso indicado por el IERS sino de manera gradual ('smoothed leap second', 'smeared leap second') a lo largo de una ventana de tiempo centrada en el segundo intercalar: ventana de 24 horas en el caso de Amazon AWS, 20 horas en el caso de Google Cloud. Ajustando sus servidores NTP internos múltiples veces, unos pocos milisegundos en cada corrección, estas organizaciones evitarán que las aplicaciones vean un segundo ":60" (o un segundo ":59" duplicado en sistemas POSIX), a costa de que el reloj del sistema no esté perfectamente sincronizado con la hora civil durante el periodo que dure la ventana de ajuste. Otras organizaciones han emitido boletines informando de los efectos del segundo intercalar en sus productos (Cisco, SUSE o RedHat).

Aunque el método de ajuste por segundos intercalares lleva implantado desde 1972, es posible que no se aplique más: existen varias voces en contra que piden su retirada, destacando una alternativa presentada por Estados Unidos (apoyada por Francia, Italia, Japón y México) que será discutida en la World Radiocommunication Conference WRC-15 que se celebrará en Suiza en noviembre de 2015 (punto 1.14 de la agenda). Canadá, China, Alemania y Reino Unido se oponen al cambio.

Los sistemas que podrán verse afectados por el segundo intercalar son sólo aquellos sincronizados por NTP; en los sistemas sin NTP, tendremos que ajustar manualmente el reloj UTC de nuestra máquina a partir del 1 de julio. En máquinas con NTP, si todo va bien lo único que veremos será el evento del segundo intercalar registrado en los logs del kernel. Si queremos evitar que nuestras aplicaciones vean dos veces la misma marca de tiempo 23:59:59, la solución recomendada es cambiar el modo de funcionamiento de ntpd a modo "slew" (ntpd -x) un día antes del evento, y restitituirlo un día después.

Más información, en el excelente artículo del blog de desarrolladores de RedHat, en la lista de correo de NANOG (hilo "REMINDER LEAP SECOND") y en el blog de Chema Alonso (parte 1 y 2). Más opiniones en Hacker News y reddit.

No hay comentarios: