What Is a Leap Second?
A leap second is a one-second adjustment applied to UTC to keep it within 0.9 seconds of UT1, the time scale based on Earth's actual rotation. Earth's rotation is gradually slowing due to tidal friction from the Moon. International Atomic Time (TAI), which is based on atomic clocks and does not skip or repeat, drifts ahead of UT1. When the gap approaches 0.9 seconds, the IERS (International Earth Rotation and Reference Systems Service) announces a positive leap second: clocks show 23:59:60 before rolling to 00:00:00. Since 1972, 27 positive leap seconds have been inserted. No negative leap second has ever been needed.
A History of Software Crashes
Leap seconds have caused a disproportionate share of infrastructure incidents. In June 2012, a positive leap second triggered a Linux kernel bug in the hrtimer subsystem, causing Cassandra, MySQL, Java, and dozens of other services to consume 100% CPU across Reddit, Gawker, LinkedIn, Yelp, and many others. In January 2017, Cloudflare's Go-based RRDNS crashed because Go's time.Now() returned a value earlier than a previously observed value, causing a divide-by-zero in a duration calculation. The root cause in both cases: software assumes time is monotonically increasing, but a leap second creates a repeated second.
The BIPM Vote in November 2022
At the 27th General Conference on Weights and Measures (CGPM) in Versailles, France, delegates from member states voted unanimously to pass Resolution 4: "On the future redefinition of Coordinated Universal Time UTC." The resolution mandates that the maximum tolerance between UTC and UT1 be widened from 0.9 s to at least one minute, effective no later than 2035. This effectively means no more leap seconds until at least 2135 -- by which point a new mechanism for handling the accumulated drift will need to be designed.
Impact on Unix Time and POSIX
POSIX time deliberately ignores leap seconds: every day is defined as exactly 86,400 seconds, so Unix timestamps are not a true count of SI seconds since the epoch. There are currently 37 seconds of difference between TAI and UTC (and thus between TAI and Unix time). After 2035, this difference will stop growing -- at 37 seconds -- making it slightly easier to convert between Unix time and TAI. NTP and PTP will continue to keep system clocks aligned with UTC without the complication of leap-second announcements.
The Rise of Leap Second Smearing
Major cloud providers have dealt with leap seconds by "smearing" them: instead of inserting a discrete extra second, they slightly slow their NTP servers in the hours before and after the leap, distributing the one-second correction across a window of time. Google has done this since 2008; AWS, Azure, and others followed. After 2035 the smear technique will no longer be needed, simplifying distributed system design for a generation of engineers who may never need to think about leap seconds at all.