Hi.
today I did master switch for en.wikipedia.org to mysql5.1, we have been running s2 (twenty other major languages) for few days on fully-5.1 setup.
Some higher level description of the branch is at http://wikitech.wikimedia.org/view/MySQL_5.1_(fork) Actual tree is at https://code.launchpad.net/~wikimedia/sakila-server/mysql-5.1-wm
Actual upgrade happened with no downtime, and there're no horror stories to tell about the process, was way too smooth. Rest of cluster wil follow soon.
Cheers, Domas
* Domas Mituzas midom.lists@gmail.com [Fri, 11 Dec 2009 01:26:48 +0200]:
Hi.
today I did master switch for en.wikipedia.org to mysql5.1, we have
been
running s2 (twenty other major languages) for few days on fully-5.1 setup.
Some higher level description of the branch is at http://wikitech.wikimedia.org/view/MySQL_5.1_(fork) Actual tree is at https://code.launchpad.net/~wikimedia/sakila-server/mysql-5.1-wm
Actual upgrade happened with no downtime, and there're no horror
stories
to tell about the process, was way too smooth. Rest of cluster wil follow soon.
Cheers, Domas _______________________________________________
Good to hear! My extension was broken with 4.0.40 (nested selects, perhaps). It was very outdated version - any linux distribution has a 5.x for a long time. Probably MediaWiki core will drop the compatibility, too. Dmitriy
Dmitriy Sintsov wrote:
Good to hear! My extension was broken with 4.0.40 (nested selects, perhaps). It was very outdated version - any linux distribution has a 5.x for a long time. Probably MediaWiki core will drop the compatibility, too. Dmitriy
Don't be so eager.
Replication will break in funny ways when a 5.1 master will get a v5 event. In the best scenario, all mysql4 slaves stop replicating at once, overloading the 5.1 ones and leading the wiki to a halt. Domas ends up removing the offending statement with a hex editor or upgrading all the slaves in a hurry.
Do we have at least one 5.1 slave per 5.1-mastered pool ?
On 11/12/09 10:18 PM, Platonides wrote:
Dmitriy Sintsov wrote:
Good to hear! My extension was broken with 4.0.40 (nested selects, perhaps). It was very outdated version - any linux distribution has a 5.x for a long time. Probably MediaWiki core will drop the compatibility, too. Dmitriy
Don't be so eager.
Replication will break in funny ways when a 5.1 master will get a v5 event. In the best scenario, all mysql4 slaves stop replicating at once, overloading the 5.1 ones and leading the wiki to a halt. Domas ends up removing the offending statement with a hex editor or upgrading all the slaves in a hurry.
Do we have at least one 5.1 slave per 5.1-mastered pool ?
Domas said that each cluster was "fully 5.1", meaning all masters and slaves are running 5.1.
Andrew Garrett wrote:
Domas said that each cluster was "fully 5.1", meaning all masters and slaves are running 5.1.
Domas only said in its message that s2 was fully 5.1. Without further data, the old master and probably some slaves would continue replicating s1. Thanks for the information.
Hi!
Don't be so eager.
Replication will break in funny ways when a 5.1 master will get a v5 event.
??? what do you mean?
In the best scenario, all mysql4 slaves stop replicating at once, overloading the 5.1 ones and leading the wiki to a halt.
We can run the site off a single slave, usually (well, probably need to send watchlists to blackhole for a while, but.. ;-)
Domas ends up removing the offending statement with a hex editor or upgrading all the slaves in a hurry.
Who in the sane mind upgrades masters before slaves?
Do we have at least one 5.1 slave per 5.1-mastered pool ?
Did we have ever any non-5.1 slave per 5.1-mastered pool?
Domas
Domas Mituzas wrote:
Hi!
Don't be so eager.
Replication will break in funny ways when a 5.1 master will get a v5 event.
??? what do you mean?
...if it has v4 slaves
In the best scenario, all mysql4 slaves stop replicating at once, overloading the 5.1 ones and leading the wiki to a halt.
We can run the site off a single slave, usually (well, probably need to send watchlists to blackhole for a while, but.. ;-)
Domas ends up removing the offending statement with a hex editor or upgrading all the slaves in a hurry.
Who in the sane mind upgrades masters before slaves?
Perhaps someone that wants to be able to switch the master back to a mysql4.
Was that a wild idea that if there's no 'upgraded to mysql 5.1' entry in the log, the old mysql4 master was kept as a slave?
Note that I wasn't assuming a setup with the master being the only mysql 5.1, just that still were _some_ v4 slaves. werna has already cleared up that all slaves are also 5.1 so all is good.
Do we have at least one 5.1 slave per 5.1-mastered pool ?
Did we have ever any non-5.1 slave per 5.1-mastered pool?
Domas
When answering, I looked at wikitech but was unable to find the mysql version each slave was running. Consider it a bug #1 issue :)
Aryeh wrote:
You can't replicate from lower versions to higher versions, in general. Only the reverse is safe. So if the master is 5.1, we can assume all the slaves are probably (at least) 5.1.
mysql replicates the sql statements, so I wouldn't be surprised if a mysql5 which only received mysql4 compatible statements worked as master for mysql4s.
Hi!
...if it has v4 slaves
I know how v4 slave will break. It will break entirely. Binlogs are not compatible.
Perhaps someone that wants to be able to switch the master back to a mysql4.
Such steps are one direction, usually :) And why would anyone, except me, want to run on mysql4? :-)
By the way, we're having huge stalls now, buffer pool dirty page flushing sometimes starves when is not able to find any dirty pages to flush.
Was that a wild idea that if there's no 'upgraded to mysql 5.1' entry in the log, the old mysql4 master was kept as a slave?
Well, it is useless pretty soon, as applying binlogs is pain, and it gets old very very very fast.
mysql replicates the sql statements, so I wouldn't be surprised if a mysql5 which only received mysql4 compatible statements worked as master for mysql4s.
Yes, it is possible, if there's binlog conversion going on, or external replication agent is used (such as trainwreck).
Domas
On Fri, Dec 11, 2009 at 5:18 PM, Platonides Platonides@gmail.com wrote:
Do we have at least one 5.1 slave per 5.1-mastered pool ?
You can't replicate from lower versions to higher versions, in general. Only the reverse is safe. So if the master is 5.1, we can assume all the slaves are probably (at least) 5.1.
Yo,
You can't replicate from lower versions to higher versions, in general. Only the reverse is safe. So if the master is 5.1, we can assume all the slaves are probably (at least) 5.1.
Hmmm, I think that replication can be defined as (from)master(to)slave, so you can replicate from lower versions to higher versions. Not opposite, unless you're using trainwreck ;-)
Domas
On Sat, Dec 12, 2009 at 7:33 PM, Domas Mituzas midom.lists@gmail.com wrote:
Hmmm, I think that replication can be defined as (from)master(to)slave, so you can replicate from lower versions to higher versions. Not opposite, unless you're using trainwreck ;-)
Er, right, I obviously meant "You can't replicate from higher versions to lower versions."
wikitech-l@lists.wikimedia.org