In this post, Jamil Baig, Systems Architect at Miles Technologies, and JP Lessard, President, Business Software Solutions at Miles Technologies, discuss how businesses and software companies are preparing for Leap Second 2015.
Most people are familiar with a Leap Year, a year in which an extra day is added to the month of February (the 29th). This is done in order to keep the modern calendar in alignment with Earth’s revolutions around the sun.
But how familiar are you with a “Leap Second?” Leap Seconds have been around since 1972, and the next one will occur on June 30 of this year—just a few months away. Let’s take a quick look at what a leap second is and, more importantly, discuss what potential implications it could have for your business software systems.
What Is a Leap Second and Why Is it Used?
Similar to Leap Days during a Leap Year, a leap second is an extra second added to a day so that the day then has 86,401 seconds instead of 86,400. The reasoning behind the addition is that Earth’s rotation actually takes longer over time; albeit, very gradually. Since 1972, there have been 25 Leap Seconds with the last one occurring in June 2012.
Why Do Leap Seconds Matter For Software Systems?
On June 30 2012, there was a leap second added, so instead of going from June 30 2012 11:59 PM to July 1 2012 12:00 AM, the time actually went to June 30 2012 11:59:60 PM first. Because of the additional second, a few problems happened on some Linux servers and Java programs. Several sites such as Reddit, Yelp, LinkedIn, and Mozilla reported problems for varying reasons due to the “leap second bug.” Even a passenger check-in system went down, eventually causing airlines to check passengers in manually.
How Are Leap Seconds Typically Handled in Software Systems?
Each group handles Leap Seconds differently. For instance, prior to the 2012 Leap Second, Google came up with a technique called “leap smear.” Using this technique, they would actually add milliseconds to each update during the day. This way, there would not be a 11:59:60 PM on the servers because it was already accounted for by increasing each millisecond throughout the day rather than just adding a full second at the end of the day.
Linux Red Hat accounts for it in two ways depending on whether the server uses NTP (Network Time Protocol) or not. For those using NTP, the solution is to make the last second 11:59:59 appear to run twice as long; however, it is said there is a possibility that older versions such as RHEL 4 and RHEL 5 may still crash.
According to the other method, the system will simply not account for a leap second until someone manually changes the clock, so those systems would have a one second difference until the clock is reset manually.
Windows systems will handle the Leap Second similarly in that they also don’t take into account the 11:59:60 PM, so the next time a computer syncs with the correct time, it will then pull this correct time.
Should I Be Worried?
While this is an exciting phenomenon for scientists and the cause of speculation on a potential repeat of the incidents in 2012, this year’s Leap Second will most likely not impact your business and indeed hardly be noticed on June 30. Based on the lessons learned in 2012 and the methods set up to handle the 2015 version, your business software system should not suffer any incidents like the ones seen in 2012. The reasons for this are:
- The main issues in 2012 were caused by the strange time of 11:59:60 and how computers and systems were unable to handle that. Most solutions in place today will handle Leap Second in a different manner so there is not this oddity which the computer cannot handle gracefully.
- The overwhelming majority of internet and local network servers are covered in the examples above and will employ one of those methods for handling this year’s Leap Second.
- Time drift in local servers and other devices has been around for a long time, and the typical drift is a lot more significant than one second every few years (ever notice how the clock in your car or microwave needs to be reset every once in a while because it is off by a few minutes?). So, there have been methods for handling these differences in place for quite a while that will be employed this time around.
If you are concerned about how your systems will be impacted, you should contact your hosting company, IT services provider or internal IT team and ask them how your systems are setup to handle “Leap Second 2015.”
NOTE: All Miles Technologies’ hosted customers are already setup to handle the Leap Second planned for June 30, 2015.
Have any other questions or concerns about Leap Second 2015? Were you affected at all by the last one in 2012? Share your thoughts and stories with us in the comments below.