Skip to the content.

G+: Probably the most public outage due to the …

David Coles
Probably the most public outage due to the NYE leap second.

This one is interesting since the root cause was due to the use of Go's built-in time function (https://golang.org/pkg/time/#Now) for measuring time intervals. If a time adjustment occurs (such as a leap-second or system change) then it's possible to end up with a negative duration. Most languages expose a monotonically increasing clock (e.g. CLOCK_MONOTONIC, System.nanoTime()) for exactly this purpose, but unfortunately this is not curently available in Go (see https://github.com/golang/go/issues/12914).

How and why the leap second affected Cloudflare DNS