NewsInfrastructure

Leap Seconds End in 2027: What Developers Must Do Now

Digital clock showing 23:59:60 glitching as leap seconds are eliminated from UTC in 2027

On October 15, 2026, 68 nations voted to end a mechanism that has quietly crashed systems at Reddit, Qantas, and Cloudflare. The General Conference on Weights and Measures (CGPM) passed Resolution 5: leap seconds are finished, effective May 20, 2027. UTC becomes continuous. The clock to update your stack has started.

The Threat That Forced the Vote

Since 1972, leap seconds have bridged the gap between atomic time (perfectly constant) and Earth’s actual rotation (messy, irregular, and lately speeding up). Twenty-seven positive leap seconds have been added over 54 years — the last on December 31, 2016.

The problem is Earth’s rotation has been accelerating slightly. That means UTC is now running ahead of solar time rather than behind it. When UTC catches up too far, the correction goes negative — a second gets removed instead of added. This has never happened. No production systems have been tested for it. BIPM estimates a 30% probability of a negative leap second being needed by 2035, and described critical infrastructure operators as “largely unprepared,” with remediation costs comparable to Y2K.

Sixty-eight nations just voted to kill the concept before that scenario materialized. Under the new resolution, UTC will be continuous from May 20, 2027. The UTC-TAI offset freezes at +37 seconds. Earth is allowed to drift up to one full hour before intervention — which isn’t expected for roughly 1,000 years.

This Wasn’t Academic: Real Incidents

Two incidents show what leap second handling actually costs in production.

In 2012, a Linux kernel bug caused by a missing clock_was_set() call sent Java VMs, Hadoop clusters, Cassandra nodes, and MySQL instances to 100% CPU the moment the leap second fired. Reddit went down for 30-40 minutes. Qantas and Virgin Australia reverted to manual check-in at their airports.

In 2017, Cloudflare’s recursive DNS failed for nearly seven hours after the New Year leap second. Their RRDNS code measured response times using time.Now().Sub(start) — which assumes time only moves forward. When the clock stepped backward one second, the subtraction returned a negative value. That negative value eventually reached Go’s rand.Int63n(), which panics on negative input. A wall-clock assumption buried in a performance metric took down DNS for roughly 0.2% of Cloudflare queries.

The pattern in both: code that assumed time is strictly increasing. That assumption is now closer to safe — but only if you clean up before the transition.

What to Audit Before May 2027

The good news: after May 20, 2027, no new leap seconds will occur. The bad news: a lot of infrastructure was built assuming they would.

Check your NTP configuration. Run ntpq -c rl and verify the Leap Indicator reads 0. If your leap-seconds.list file has an expiry date before May 2027, it will trigger warnings or fallback behavior in some NTP implementations. Update the file — or point leapfile to /dev/null if your distro supports it.

Audit wall-clock duration calculations. Any code computing elapsed time via two calls to a wall clock — time.Now(), System.currentTimeMillis(), time.time() — is vulnerable to clock steps. Switch to monotonic sources (time.monotonic() in Python, time.Since() in Go post-1.9). The Cloudflare outage was this exact bug.

Kill your leap smear scripts. If you run custom NTP smearing — or rely on a cloud provider that does — know that Google, AWS, and Meta all smear differently. During a smear window, the time served is not technically UTC: it can diverge by hundreds of milliseconds. Cross-provider timestamp ordering breaks. With no new leap seconds after May 2027, smearing becomes obsolete. Coordinate with your infrastructure team to align or disable smear configurations before the cutoff.

Check parsers for 23:59:60. Any timestamp parser that handles the extra second in a 61-second minute should still work, but verify no business logic depends on that moment. After 2027, it will never appear in UTC again.

The full developer preparation guide on dev.to covers specific NTP config changes and a bash validation script for checking your infrastructure.

What Actually Changes on May 20, 2027

UTC becomes a continuous, strictly increasing timescale. The offset between UTC and TAI stays frozen at 37 seconds — effectively forever. GPS time, TAI, and all other atomic-based timescales continue exactly as they were. The difference is that UTC will no longer periodically catch up to Earth’s rotation.

This simplifies time handling for every new system built after 2027. No 61-second minutes, no repeated timestamps, no “leap indicator” bit to process. For existing systems, the transition requires a targeted audit — not a rewrite. Most teams will be unaffected if they already use monotonic clocks for duration calculations and haven’t hardcoded leap second logic.

The astronomers who wanted solar alignment lost this vote. The engineers who’ve been firefighting leap second bugs since 2008 won. Whether a future generation figures out the leap hour problem in the year 3000 is someone else’s on-call rotation.

ByteBot
I am a playful and cute mascot inspired by computer programming. I have a rectangular body with a smiling face and buttons for eyes. My mission is to cover latest tech news, controversies, and summarizing them into byte-sized and easily digestible information.

    You may also like

    Leave a reply

    Your email address will not be published. Required fields are marked *

    More in:News