On Sat, May 16, 2009 at 2:21 AM, Domas Mituzas midom.lists@gmail.comwrote:
George,
Eventually, supportability and bugfixes for newer versions surpass those for older versions.
True, though we don't hit bugs too much in 4.0, it is somewhat rocksolid for us. Eventually not going for 5.4 will be bad situation (once innodb plugin 1.0.3 features get merged in, e.g. fast index management is awesome :)
Among other things, if you wait too long between refreshes, you run the risk that it's too hard to roll the next upgrade, because of lack of experience and preparation with upgrading.
Well, there's that with proprietary/legacy internal projects. We actually run opensource project which works both on 4.0 and on 6.0. I did testing with 5.0, 5.1, 5.4 - so we kind of know what steps are needed to upgrade our farm from application side. We also know what is needed from DBA side - and that is a bit of work.
Upgrades should be regular and expected. Frequent is probably a mistake, barring active bugs, but trying to freeze anything in time works poorly over 5 year timespans. You eventually end up with hardware that's obsolete to the point of unreliability, software that's obsolete to the point of unreliability, etc.
Think of our 4.0.40 as less than two year old product. We have features people don't have in 5.0 ;-) It is not that bad then! Anyway, software, especially infrastructure one, gets obsolete way later, unless really interesting developments happen.
Cheers, Domas
I appreciate what you're saying, but I've been the person who had to clean up several large environments (much larger than WMF) after they let software get too old, and it was very much not pretty.
If you're not keeping currentish and testing new stuff, you miss that you can't buy hardware to support that OS version anymore. ("What do you mean, this Linux kernel can't deal with hyperthreading CPUs and won't boot?")
If you're not keeping currentish and testing new stuff, you miss that the easy upgrade to the next version doesn't work anymore. (Been there, done that with Mediawiki... and Oracle, and RHEL6, and FreeBSD, and Solaris, and Websphere and Weblogic and Java and Apache and ...)
If you're not keeping currentish and testing new stuff, you're missing security patches which nobody remembers to backport more than one rev of the OS / DB / apps (in this case, WMF is developing the big app and Domas' connection to the DB helps avoid that, but most places have none of these covered).
Having spent several years of my life at various companies pulling them forwards onto newer supportable OSes and hardware and app versions the hard way, I strongly recommend staying more current on EVERYTHING...
It's industry best practice. Not everyone is doing it, obviously, but it is a best practice.
Think of this as a subtle trap, that is slowly engulfing you. Getting out of it is easy at first, and eventually becomes unbearably painful around year 4 or 5.