Alex Yurchenko <alexey.yurchenko@codership.com> writes:
On Fri, 22 Jan 2010 21:14:29 +0100, Kristian Nielsen <knielsen@knielsen-hq.org> wrote:
http://forge.mysql.com/wiki/ReplicationFeatures/ReplicationInterface
Uhhhh. I am of rather poor opinion of that interface. It is not breaking with bad traditions at all. I'm not sure if it is high time for criticism already, but if it is, should I direct it here? ;)
I think it would be useful if you explained what the problems are with that interface, in your opinion. It seems that this has been pushed into MySQL 5.5, which as far as I understand is the basis for the next MySQL release. So we will have to deal with the interface eventuially (one way or the other).
From my initial look at the new interfaces, it seems they deal mainly with higher-level stuff like transaction start/end, binlog writing, and relay log reception. I did not see anything in the interfaces related to the actual generation of the events. The ReplicationInterface document has a class Binlogger that mentions this, but this class description is low on details (no argument specification for log_row()), and I did not find anything like this in the MySQL 5.5 code.
I am thinking that this is mainly a refactoring to expose mostly already present functionality in a clean way to new plugins (semisync. replication in particular), but I will have to look deeper to know for sure. - Kristian.