2015-й будет на секунду длинней... и это проблема

30-го Июня, точно в 23:59:59, мировые атомные часы замрут на секунду. А, если точней, то они поменяют время на 23:59:60, прежде чем перейти на следующей день – 00:00:00, 1-го Июля. Эта дополнительная секунда, объявленная Парижской Обсерваторией на этой неделе, будет добавлена для того, чтобы Земные часы соответствовали астрономическому времени, в частности, замедлению вращения Земли. И все это является большой головной болью для компьютерных инженеров.

Дополнительные секунды, подобны Y2K-багу в том, что они угрожают синхронности измерения времени компьютерами и атомными часами. Однако, если Y2K был единичным случаем на рубеже веков, дополнительная секунда – это регулярная головная боль.

Первая была добавлена еще в 1972-м году. Нынешний год будет уже 26-м. И конца данному процессу нет. Проблема заключается еще и в том, что они порой непредсказуемы: землетрясения, влияние луны и погодные эффекты – все это влияет на вращение Земли, в связи с чем сервис по наблюдению за вращением Земли ведет бдительный присмотр за изменениями.

В 2012-м году, когда была добавлена очередная дополнительная секунда, многие сайты потерпели серьезные проблемы: Foursquare, Reddit, LinkedIn, StumbledUpon и многие другие перестали работать, когда появилась дополнительная секунда. В случае с Reddit, проблема была связана с суб-системой Linux, которая запуталась, когда проверила временной сетевой протокол и обнаружила еще одну секунду. В интервью Wired в 2012-м году, Линус Торвальдс – создатель Linux, сказал: "Почти каждый раз когда появляется дополнительная секунда, мы обнаруживаем что-то новое. Это очень раздражает, так как это типичный пример кода, который никогда не был запущен, и, соответственно, не протестирован в нормальных условиях."

Вместо того чтобы полагаться на единое решение, компаниям приходится изобретать обходные пути. Так, к примеру, Google просто растягивает секунду, переводя часы на секунду назад перед концом дня разбивая ее на миллисекунды. Однако, это в свою очередь тоже не всегда решает проблемы – что случается с операциями в данную секунду? Приходит ли почта и храниться ли она корректно? 

Кто знает, возможно еще через десяток подобных циклов мы наконец найдем способ безболезненного введения дополнительных секунд, которые не будут убивать сетевые сервисы.

Больше статей на Shazoo
Тэги: