Saturday, October 25, 2008

Should you be worried about STATEMENT based replication?

Earlier this month, an announcement about STATEMENT based binary logging would be the default starting with MySQL version 5.1.29. I've always preached that backwards compatibility was key to new releases. In this case, lessons were not learned until close to final GA date.

I would like to point out that for 90% of customer cases, STATEMENT based replication will work fine as advertised. But I'd like to point out some use cases where STATEMENT based replication will be at best spotty (at least it is in 5.1.28).

If you primarily use InnoDB as your storage engine you will want to pay close attention to your transaction isolation level. There is a minimum requirement that READ COMMITED level be used, otherwise statement based replication can not be used.

Partitioning + InnoDB + STATEMENT-based binlog also has its problems. We faced constant issues, getting the error 'Binary logging not possible. Message: Statement-based format required for this
statement, but not allowed by this combination of engines'. What the heck does this mean?

It's a misleading error message. Partitioning is not a true storage engine, but is a virtual one. The first time an underlying table is opened, the partition engine caches the table flags of the real storage engine, in this case InnoDB. Lets say for example, an app performs a SELECT on a partitioned InnoDB table. Let's also assume that the transaction isolation level is READ UNCOMMITTED. The SELECT will execute without any issues. But, try to insert a record from a different session, and it will fail every time. I filed this BUG#39084 over a month and a half ago. Repeatable test cases were also given.

Since we are committed to releasing our reporting database and can not wait for MySQL to come around and realize mistakes they made, we came up with our own patch that addresses this immediate concern, and for this reporting db.

So, should you be worried? I think I would be.

11 comments:

Anonymous said...

I've read the bug report. I agree that this is a non-trivial issue, and it appears that MySQL support and developers do also. It's true that there were some conceptualisation problems in the early going with partitioning (something with which I'm all too familiar, having written most of the MySQL Partitioning documentation) where it was regarded by some as 'just another storage engine' when - as you rightly point out - it's not, and there are unfortunately still some vestiges of this notion in things like error messages.

I would like to point out that you state that you filed the bug a month and a half ago and that there are test cases, both of which are true, but you neglect to mention that there was a *repeatable* test case available only a week ago.

In addition, developer comments were posted to the bug report on the 23rd and the 24th indicating that they'd identified the nature of the problem and had ideas for a possible fix. Yet you posted this on the 25th and it seems that you're trying make it sound like we don't care about this issue and are doing nothing about it, especially given the title of your post, which makes it sound like SBR is rotten to the core. This is both a bit of an exaggeration and rather misleading, don't you think, given that the root of the issue seems to be with Partitioning and not SBR?

Also, I don't see any indication that you tried to use RBR as a solution to your problem. Is there some reason why this wouldn't be a viable option?

cheers,

Jon Stephens
MySQL Docs Team
Stockholm

Sheeri K. Cabral said...

Have you submitted your patch to the OurDelta folks? http://ourdelta.org/

Anonymous said...

At least buy wow gold for now.then
cheapest wow goldwas one whom world of craft gold cheapMannoroth couldworld of warcraft gold cheap especially not touch.buy cheap wow gold With the death of the queen?s advisor, Lordbuy world of warcraft gold
Xavius, the WOW FAQcaptain had become wow gold her liaison. Whenever the glorious Azshara opted WOW US not to gift those buy wow goldworking in the
chamber with wow gold news her magnificent presence,
wow gold about the guard captain took her place.
my site is :http://www.game4power.com.

Admin said...

sinema izle
film izle
film
online sinema
online film izle

Anonymous said...

AYpearl engaged inwholesale jewelry,handmade

jewelry
and fashion jewelry,including wholesale pearl,wholesale gemstone,wholesale crystal,coral jewelry,shell jewelry,wholesale turquoise,swarovski jewelry and so on.

Anonymous said...

When the Wow Gold wolf finally found the Buy Wow Goldhole in the chimney he crawled wow gold cheap down and KERSPLASH right into that kettle of water and that was cheapest wow gold the end of his aoc gold troubles with the big bad wolf.

The next day the cheap wow gold buy gold wow little pig invited his mother over . She said "You see it is just as I told you. The way to gdpchinaget along in the world is to do world of warcraft gold things as well as you can." Fortunately for that little pig, he mmopawn learned that lesson. And he just lived happily ever after!

Anonymous said...

Do you know that the mabinogi gold, and do you want to know? In the game many palyers need the mabinogi money to up their levels. so they often search where can buy the cheap mabinogi, I think our website is your choice. Many friends told me that in here can buy mabinogi gold, and you will also practice your online games skills. So i hope more and more players come here to buy the mabinogi online gold.
Do want to know the magic of online games, and here you can get more maple mesos. Do you want to have a try? Come on and mesos can make you happy.You can change a lot cheap mesos for play games. Playing online games can make much maplestory mesos. If you want your game level to up highly, you can come here. And you can use the maple story mesos do what you want to do in the online game.

Anonymous said...

Later my friends told me that if I want to play the game better I should go to earn the Perfect World Gold, so I was very quickly risen to thirty levels, and then I started to play the game alone.I go to Buy Perfect World Gold to treat myself in this game. However she was also very sad when I was hurt, she was sorry about this to me and I did not complain her at last. I was very happy and we went to earn the Perfect World Silver to equip us to become strong. Today I play the game again and I can get a lot of Perfect World money for her, I take her to upgrade and then add her experience. I have a lot of cheap Perfect World Gold and I want to give her in the game, i can have a lot of pw gold if my skills of playing the game well.

The game has a lot of LOTRO Gold, as long as you join to play this game you will get
them. you should try your best to earn as much Lord Of The Rings Gold as you can, so you are strong and no one can
fight you. you can go to buy LOTRO Gold in the game, so many other players want to play with you together. As long as you have the cheap Lord Of The Rings Gold you will be strong and you can go to kill the monsters to upgrade alone.

Unknown said...

buy wow goldAsesor ProfessionalUruguayProfessionalbuy wow goldOfficeLinksNotice

Anonymous said...

buy wow goldAsesor ProfessionalUruguayProfessionalbuy wow goldOfficeLinksNotice

Anonymous said...

buy wow goldAsesor ProfessionalUruguayProfessionalbuy wow goldOfficeLinksNotice