
A number of high-profile outages that took place last weekend can be traced back to how the Linux OS kernel mishandled a leap second added to the official time, charges the CTO of DataStax, a company that manages the open source Cassandra database.
"Initial reporting often fingered Java or even Cassandra as the culprit ... but the actual problem was a kind of livelock in the Linux system calls responsible for timers," wrote DataStax CTO and Cassandra creator Jonathan Ellis, in a blog post.
On Saturday midnight Greenwich Mean Time (GMT), an extra second was added to the Universal Coordinated Time (UTC), the official time used to coordinate servers across the Internet. Although the Network Time Protocol (NTP), the most widely used mechanism to synchronize the time across the Internet, was designed to handle leap seconds, a number of popular Internet services briefly went offline after the second was inserted in their servers, including those running Reddit, LinkedIn and the Quantas airline reservation system.
ReddIt engineers had initially assumed that Cassandra, along with Java, was source of its leap- second related outage on Saturday. The problem wasn't with either of those technologies, Ellis countered, but rather with the underlying OS. (Oracle, which manages Java, did not immediately respond to comment).
A system administrator would have first noticed the problem manifesting as an extremely high system load or even a system crash that could be traced back, via the normal administrative tools, to an application such as Cassandra, the Java Virtual Machine, Hadoop, or MySQL. The actual culprit, however, turned out to be a harder-to-pinpoint bug in the way Linux updated its clocks when a leap second was introduced, Ellis said.
Many had found that resetting the application did not restore the server to normal operation. They could, however, remedy the issue by resetting the system clock or rebooting the server.
Whatever the cause, the bug disrupted the Saturday evenings of many a system administrator. On the Time-Nuts mailing list, one admin reported spending the evening rebooting hundreds of servers.
Joab Jackson covers enterprise software and general technology breaking news for The IDG News Service. Follow Joab on Twitter at @Joab_Jackson. Joab's e-mail address is Joab_Jackson@idg.com





Comments
Richard Mote said: Im going to have to call BS on this claim Many sysadmins oddly not mentioned here have reported high load figures and locked or crashed servers on systems running Windows Server with Cassandra and Java How could the way the Linux kernel handles leap seconds affect a Windows Server OS This sounds like Ellis trying execute a rear guard action by throwing blame onto the GNULinux OS No evidence other than Ellis apparently unsubstantiated claim is presented Any figures showing only systems on Linux kernels were affected Of course not If BSD Windows and Linux systems running Cassandra were all affected and systems running those OSes without Cassandra were not then logically the culprit cannot be Linux BSD nor against type Windows It must be the software that was running on all affected systemsUntil Ellis can back his counter-claims with hard data its just going to look like a FUDscreen emitted from and designed to cover his southern exposure