Preparing Your Datacenters for DST Changes?
Cheeze asks: "As I am sure some of you know, Daylight Saving Time is slated to change this year thanks to The Energy Policy Act of 2005. This means nothing to the large majority of the population except they will either sleep late one day or have to commute in the dark. To a select few, this is a crunch time akin to the Y2K fiasco, only there has been almost zero publicity recently. These select few are the ones responsible for updating the millions of computers, both servers and workstations, with the new time zone information. For newer servers, this usually means just install a patch and reboot (which is slightly more than mildly inconvenient). For older servers, this is basically an 'End of Life' declaration. Servers running software for which no patch is available will be unable to update their own clocks. This doesn't seem like such a big deal until you realize Microsoft is only offering patches for Windows XP and beyond, and Sun will not be supporting Solaris 7 and older. That should knock a large percentage of the computers 1 hour off for a few weeks this spring. What are you doing in your datacenters to prepare?"
..that your servers don't use GMT?
Using UTC.
Does this affect European time zones and summer times in any way? I presume not, and the only effect we might see is incorrect time zone in e.g. mail headers from the US, if sent from an unpatched mail server with the wrong time. Or am I forgetting something?
In the US, move your servers to Arizona or eastern Indiana or Hawaii or Alaska, so you don't have to deal with time zone changes anymore.
-ez
I'm more concerning of a switch back to the old DST (the one we had in 2006) if they decide it's the energy saving isn't good enough. How difficult would it be to unpatch out systems?
There is no reason for having a single server clock on non-UTC. DST, even if it was to stay the same forever, makes things a pain in the arse (once a year, an hour happens twice).
Your client should convert the timezone. For a client machine, it's not much hassle just to go into clock settings and change it.
Worst case is web-apps - the server clock should be UTC, but you still need to convert the time zone in the client-facing PHP/Perl/Java/etc code. There you're just looking at a patch to the language runtime or whatever.
I just got my servers switched over from the Julien to the Gregorian calender. Now this. When will it ever end.
Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
What truth?
There is no dupe
This should fix the problems for your Unix based machines. You can download a set of time zone source files from ftp://elsie.nci.nih.gov/pub/, these files are in the public domain. From these files you can build a full set of zoneinfo files (read the man page for zic(1)), DON'T FORGET TO BACKUP YOUR CURRENT ONES IN CASE OF PROBLEMS!! For most Linux based distros this is in a package called tzdata (which will compile the source files into zoneinfo files for you). zic(1) should put the compiled files into the right directory for you. These source files should work with most zic(1)'s, if not you may need to massage them with sed or perl. Don't forget to update /etc/localtime (or whatever other mechanism your OS uses, /etc/timezone et al) to set your localtime to the right zoneinfo file.
Mod parent up. ISTM that you're better off if all computers have their hardware clocks set to UTC and the conversions to local time take place at the last possible time in the clients (if at all). If a user wants to use some client software or OS that doesn't understand the silly daylight savings rules (which are extremely crazy in some places); at least they don't damage anything in the datacenter and will only confuse themselves.
OTOH, what kind of evil company won't even give as trivial a patch as updating a time-zone file to their customers!?! If I had any such software and the company still existed I'd be wanting a full refund.
IF this is the only issue, couldn't you setup a scheduled task to change the time appropriately? Probably a way to deploy this via GPO. I can't see many businesses (and government) running out to buy new software just because of a time zone issue.
Plus, if the older server is seto to use NTP it should be ok anyway....
Move your Datacenters to Saskatchewan...nice little province
Karma: Excellent. 15 moderator points expire sometime.
But it's generally true that what the US does today we Europeans will do next year. Furthermore, if it's found that the change in Daylight Savings does have energy use benefits, then I can see that the benefits outweigh any drawbacks.
The good thing is that when we get around to doing it our US colleages will have found all the problems!
init 11 - for when you need that edge.
they'd probably be patched through the same means. so if you survived the patch to the new DST, you'll be able to get a new patch to remove it.
No one uses NTP in their datacenters?
"...Microsoft is only offering patches for Windows XP and beyond"
They are offering support for Windows 2000, free with the right volume license, $$$ without, or they have made a manual registry hack available (which I don't have handy because I'm posting from home).
And before you ask, there are companies that still specify Win2K server and workstation to run their software, Thompson/Prometric being one of them, which is how I came to find this out.
Some days it's just not worth
chewing through my restraints.
Mine's already in Queensland, thanks. :)
Il n'y a pas de Planet B.
I only had to chance it once (on Win98 if I remember correctly) and there it was just an regedit call. No reboot required. At this time Win98 was switching the DST about a month wrong in MET, and I had to correct that. There is also a Microsoft Utility called tzedit, which displays and modifies the time zone rules. To have it affect the displayed time, you can go in the Control Panel, choose Date & Time and hit Ok. Then it will refresh the timezone information according to the changes you made with the tzedit.exe utility.
A more complete description of the necessary registry changes is at
Microsoft Knowledgebase 914387.
But as someone already wrote in an earlier post: Set your servers to use NTP, either from your local nameservers or from *.pool.ntp.org and have it automatically adjust for DST.
Uhh, no.
It's not inconvenient at all, unless you really think 2+ years of lead time isn't enough, and your systems really won't be rebooting even once in that entire period of time... Not likely.
Darn.
This isn't year 00.. Clocks aren't going to loop around, causing problems with linearity. Localtime being an hour off will mostly range from completely unnoticed, to mildly inconvient as people manually workaround the issue...
For Windows, you just need a minor change in the registry. For Unix systems, a quick generation of a zoneinfo file should do it.
There's the vague possibility that some embedded systems with really time-critical functions will need to be thrown away, but I can't see that happening with any kinds of (real) servers.
Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
Most of the comments in this thread show an extreme lack of understanding about how these things work. Servers have their clocks set to UTC. Timezones and daylight savings time are about how times are presented to end users. So, if you have the wrong TZ information you could tell a user 5PM local time when you in fact should be telling them 6PM.
Thats a good idea, but won't always solve all of your problems. Here's a problem I experienced recently with one of our web apps.
We have a web event calendar where people can schedule events (for far into the future). When people input an event, they specify the date/time it will begin/end. The application then converts the date/time into a unix timestamp and stores it in the database. Later, when an event is being viewed, the timestamp is converted back to a textual date/time.
The conversion from local time to timestamp is done via PHP functions, which uses the systems timezone file. The OS patch to fix this problem simply updates the timezone file and everything should automatically work.
This is fine and dandy for most things, but I ran into one small glitch. For any events that are scheduled between the new start of DST and the old start of DST (roughly a 3 week period), if they were created BEFORE the patch was applied, they are now off by 1 hour AFTER the patch is applied.
The 1 hour difference is simple enough, and I might not have even noticed...or if I had, I probably would have just blamed it on user error when entering the data. However, this caused a strange side effect. The application built a secondary index to simplify searching for events. The index consisted of the event_id and the starting timestamp truncated to midnight. Of course, for those events in that 3 week period that were created before the patch was applied, they now had an index timestamp that was actually 1 AM. Of course, this caused events to mysteriously disappear from the calendar. You could search for them, but not see them when browsing.
I wasted a good couple of hours on this problem (thinking at first that it was isolated to a single event) before I finally did an analysis of the entire index and discovered that almost all events in that 3 week period were wrong. Then it instantly dawned on me what had happened.
OS patches are easy - we even built our own for patches for some obsolete unix flavors. The tzfile format is well documented and straight forward.
Our big issue is java... Whoever designed that piece of sh*t should be shot. They get the time information from the OS - so why not pull the TZ data from the OS too? But no - they rather implement it themselves... The result is beautiful. Oracle installed? You need an extra patch. Informix 10? Another patch. Websphere? Guess what - patch it separately! In the end, we had some boxes that needed 8 or more applications patched in addition to the OS.
Peter.
some of them dont know how to use time servers, so maybe just hire someone to do the rounds and just updated the servers MANUALLY.....wow that would be real hard. Not even worth a story on /. if you ask me.
This arbitrary change is annoying, doesn't even accomplish what the original goals were (energy saving), and DST has outlived its utility. Simple solution, stop using DST! If Arizona can function, so should the rest of us be able to. I sort of joke, but I've made the decision to abandon DST usage in my personal life. No more adjusting my computers or running around the house resetting every appliance with a digital clock. I can easily adjust meeting times and such in my head when interacting with the DST-hobbled world.
I'd rather they be in Newfoundland
Supplies!
And the energy use of SUVs doesn't even hit a percentage point of the energy used to power trains, planes, busses, transport trucks, ocean liners or even the tankers that move the oil around the world. Don't let your land-lovin-tree-huggin hatred for the SUV blind you from the fact that there are MUCH bigger fish to fry. btw: My SUV gets 28 mpg. The minivan it replaced got 22 mpg.
Karma: Neutered
Clock companies everywhere aren't prepared for this. I work for one and they have to manually update all of the tower and post clocks that they have made which is in the thousands. When this last happened in the 70's there weren't embedded electronic clock systems. When daylight savings time came around you just got up on a ladder and spun the dial backwards. CBS had the best quote on this from there nightly news "do you love summer barbeque's and parties? then you'll love this" almost like they were selling the story back when the first passed the bill.
This is fine well and good except - all UNIX systems (Linux, *BSD included) already work in UTC and convert to localtime on the fly.
Try the following on any UNIX system...
and you will see all three xclock windows with different times. The REAL problem of the Timezone change is that Noon of March 12th, 2007 is now an hour off from what we used to assume it would be.This is a boring sig
It has no meaning. This is confirmed by the fact that yahoos in a governing body think they can control it.
Each server and client has its own definition of time that has meaning to it. Seeking to establish hegemony over each definition is fascism at its worst. Every server and client can seek to be the same as others in of its own free will.
One day, at one time, all the clocks will be the same. At that moment, the Flying Spaghetti Monster will return in Glory. Ramen.
Until that day, time is nothing.
There are way more lights than there are data centers, so if the government were serious about saving energy they could stop the production / import of incandescent light bulbs, or at least make them as financially unattractive as possible. Perhaps taxes on bulb sale and high import tariffs would do the trick. Link here.
--- Commission free trading & free stock up to $500 - use http://share.robinhood.com/kelvinp6
Cod can't type :)
God save our Queen, and Heaven bless The Maple Leaf Forever!
Problem is that sometimes that kind of shit backfires. SUVs are popular because the CAFE regulations effectively banned large cars. As a result, people who would otherwise have purchased a large car now purchase a small truck to use as a car.
I don't want free as in beer. I just want free beer.
Dave K. Mt. Laurel, NJ USA
you wouldn't remove a time zone patch, you would apply a new one that would change it back. once something is in the time zone data, it will be there for all of time. In the future, you never know when you might need to translate from the current time to the beginning of the dark ages (Around April 2006).
Why read the article when I can just make up a snap judgement?
Out of deference to the events in 2001, the number 911 should be reserved for unique use (in North America) of the emergency services telephone number, it's use in all other contexts... 13 could be included in the ban to standardize current practices. Most high rises do not have a thirteenth floor, and Friday the 13th would cease to be a problem. No price, by law, for any item will ever be 13 or 911 dollars, except on march 13th (except when that would fall on a friday, in which case it would be a slip year), and September 11th, when those prices will be allowed. No use of the numbers 13 or 911 will be permitted in architectural or engineering diagrams of any kind, for fear offending those who lost loved ones on that terrible day.
The impact on counting should be very minor, as I personally lived in an apartment on 12B for many years, and there was no cost to this. A few if statements here and there. Sure, there are some complications,
Look, for example at the daylight savings time, how simple it is to understand that on some days of the year, there are 23 hours, (where there is no 3:12 am.) and on others, there are 25 hours (where there are two 3:12 am's.) but only in some places, sometimes, depending on what the local government says.
It is great to change how people count... dollars, dimensions, hours, to serve political or societal goals. It makes life better for everyone. Much simpler than changing prices or opening hours to serve them. All we need to do is pass a law, and change the way we count. Simple and practical so that no one has to keep track.
"Cod can't type :)"
Neither can wheat, but at least it doesn't slime up the keyboard.
Sadly, even in SK, the computer would need patching, so that when the person moves to Alberta, their computer time can be correctly set automatically when they arrive. Meanwhile VCRs and other devices pre-programmed to switch to DST are just going to remain "broken" forever. Yet another monument to the Bush years in government -- all in the name of saving 1% of the State's oil a year, when they could be saving 40% easily by requiring personal vehicles get 40MPG.
Saskboy's blog is good. 9 out of 10 dentists agree.
You can never "unpatch" this. You can add an additional patch which would specify the new rules, which would coincide with the old rules.
The thing is, a change like this is always and forever. If at any point in the future, even after this law has been rolled back, you want to know about time during this period, your system will have to know what rules were in effect at the time.
Timezones have outlived their usefulness. They were a great improvement over every village setting it's time as before timezones existed, but nowadays, you never know when something is on tv (except using an electronic program guide) and there is so much long distance interaction (ie. tech support in India, R&D division in China, etc...) that telling time has become a real hassle. If you work in a company of any scope, there are lots of meetings, and many are missed because people didn't notice the timezone, or even if they did, miscalculated the difference between their timezone and this one. Working in Canada, have to deal with: Newfoundland, Atlantic, Eastern, central, Saskatchewan (and a few cities either east or west of it that adopted the no-DST rule) mountain, and pacific time zones.
It would be a heck of a lot easier if folks would just, at a state/province, or some sort of regional level, decided that stores open at 14 Z in the winter, and 13Z in the summer (corresponding to 9am Eastern time, including DST) Store hours are already mandated, so just mandate that they change summer and winter, but do not change how people count. Define 'Local Standard winter hours' and 'Local standard summer hours.' Do not change the clocks, change the times...
I would rather do away with DST entirely, but if you must do it, it should not be done by changing the time, but rather by changing the hours, and keeping time straightforward. The best would be to forget about DST and timezones entirely, and for everyone to adopt UTC.
Luckily in *nix systems that support the TZ shell variable (all POSIX systems) you have a way to make it behave as you wish irregardless of special timezone file sets. Just set your TZ variable using the long form:
/ TZ-Variable.html
std offset dst [offset],start[/time],end[/time]
Example: EST+5EDT,M4.1.0/2,M10.5.0/2
In the example EST is set to have the normal offset from UTC of 5 hours; since this is west of the prime meridian, the sign is positive. Summer time begins on the first Sunday in April at 2:00am, and ends on the last Sunday in October at 2:00am. The second offsest was omitted because by default it's +1 hour.
Special thanks to the GNU documentation of the GNU C library: http://www.gnu.org/software/libc/manual/html_node
I know this to work on AIX, HP/UX and Linux. Other systems should behave similarly.
So... what we need is a timezone patch for a database that supports updating UTC entries that represent local times. But to do this properly we need to know the exact location where each future time is located, and apply the time updates only for entries where the local timezone definitions change. Does Oracle or anyone else actually make a fully functional timezone patch that would implement all this?
Alternatively, we could store all dates as local times, again with the exact location of the entry, so that we can relate entries in different timezones. This has the consequence of complicating all date comparisons and computations, and the results of the computations may suddenly change by legislative fiat.
In particular, the duration of a future event may be changed by a timezone patch, so you had better never store durations in the database. Then again, some future events are better defined by the start time and the duration (say, a planned service outage has to last long enough for the work to complete), and this means that the end time may unexpectedly change.
I'm lucky I don't have to worry about all this at work.
Indiana used to not honor DST, now we do :(
Not real fun change to have to deal with. Especially on the MS machines. I don't believe MS issued any patches for the change, just a post on how to change your timezone setting manually (which is all fine and good, except for applications that store the timezone with entries)
You should have been around for the BC to AD conversion.
We thought we were going to be fine with that here, as we had some wise men who worked out when they were going to start. We were planning on just using an integer for number of years:positive for AD, negative for BC. However, some idiot politician somewhere decided to start labelling the years at 1 instead of 0, so now we've got an out-by-one bug every time you try to do a calculation that crosses the AD/BC boundary.
When our name is on the back of your car, we're behind you all the way!
Out of deference to the events in 2001, the number 911 should be reserved for unique use (in North America) of the emergency services telephone number, it's use in all other contexts... 13 could be included in the ban to standardize current practices. Most high rises do not have a thirteenth floor, and Friday the 13th would cease to be a problem.
:) I was born on a Friday, too..
Thanks, asshole.. my birthday is on the 13th
Does this mean I'll be 28 forever?
Under Unix, you could configure time zone changes yourself with zic.
For example, the following input to zic will create the four zone info files US/Eastern, US/Central, US/Mountain and US/Pacific. These will be under your ZONEINFO directory (mine is /usr/share/zoneinfo).
The input above configures the time change for the years 2007 to 2017 (an arbitrary end year) so that DST starts the second Sunday in March, and ends the first Sunday in November, as specified in the Energy Policy Act of 2005.
You can test your resulting files using the zdump command, like this
You might have to refresh links to these new files, check /etc/localtime.
Disclaimer: I'm not a time zone expert, so don't take this on faith.
Has everyone forgotten the Blackberries ? You know - the addictive little hockey pucks that your bosses bosses boss lives by.
Well they run Java internally, and they are affected by daylight savings as well.
Here in Australia we had a dry run with all this with the Olympics, and the Commonwealth Games, where the government thought that it would be better for tourists to have more evening daylight .
The solution - do nothing and let the holders do the math themselves.
A bit of a stuff up - unhappy executives can make your life unpleasant.
Well, there you see you are demonstrating the problem afflicting so many of our youth today.
If the proposal is accepted, no-one will have your problem in the future. While preventing problems
for future generations, we need to be sensitive to those who face challenges such as yours today. those who are most unfortunately afflicted with being born on the day between 12 and 14 could refer to their birth day as the '12B' of a month, and have the option of celebrating on either the 12th or 14th. In the modern world, there are many cases of reconstituted family units. Such options would permit one to celebrate with one side of the family on the twelfth, and the other on the fourteenth, which will give each side a increase feeling of self-worth.
peace be upon you.
Most high rises do not have a thirteenth floor
What wierd ass buildings do you frequent? Do the 14th and higher floors just hover in the air above the 12th floor?
Even if you don't label it as the 13th floor, it still is.
In Brazil DST rules changes _every year_. Try dealing with THAT!
The end result: people change it manually... And as they said, servers use UMT, so...
how long until
as long as I get some kind of government subsidy to help deal with my affliction, I'm all for it.
s/rebuild and replace/binary patch/
come on, after all, it's just ONE (at most FOUR) bytes that will change with this in the whole executable.
It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
> This is fine and dandy for most things, but I ran into one small glitch. For any events that are scheduled between the new start of DST and the old start of DST (roughly a 3 week period), if they were created BEFORE the patch was applied, they are now off by 1 hour AFTER the patch is applied.
Perhaps if you had inputted your events on your program's terms by scheduling them one hour early -- since your program didn't know about the DST change, but you did -- then, after you apply the patch, your events are scheduled properly.
But then again, you probably didn't know this bug existed before you applied the patch.
and Sun will not be supporting Solaris 7 and older.
Pretty much all UNIXes use text based TZ information, or tools that create
the correct information, (IE zic). Patches shouldn't be an issue. During the Y2K
fiasco^H^H^H^H^H^Hchanges all I did for my 150 odd servers is recompile my own
zoneinfo file and distribute via rsync.
-- main(s){printf(s="main(s){printf(s=%c%s%c,34,s,34
you just check off "numerically challenged" on the form. We will probably add a new category to
the affirmative action directives.
Sun will be supporting 2.5.1, 2.6 and 2.7 for contract customers.. iow. those customers will need to contact Sun and request the patches to fix the timezone changes. For Solaris 8, 9 & 10, these patches are made available publicly for all customers with no need for a support contract.