Group commit for MySQL slave committting to wsrep provider

Bug #1048492 reported by Seppo Jaakola
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MySQL patches by Codership
Fix Released
Wishlist
Seppo Jaakola

Bug Description

Implement transaction bundling for MySQL slave committing into wsrep provider. This may help with the bottleneck of having only one MySQL slave facing commit time delay of synchronous provider.

Changed in codership-mysql:
status: New → In Progress
importance: Undecided → Wishlist
assignee: nobody → Seppo Jaakola (seppo-jaakola)
Revision history for this message
Seppo Jaakola (seppo-jaakola) wrote :

This work goes to private branch for hot-fix builds only.

Fix has been committed where variable wsrep_mysql_replication_bundle controls how many replication events will be grouped together.

Changed in codership-mysql:
status: In Progress → Fix Committed
Revision history for this message
Seppo Jaakola (seppo-jaakola) wrote :

Replication events are grouped in SQL slave thread by skipping events which may cause commit. This way the wsrep node acting in MySQL slave role and all other wsrep nodes in provider replication group, will see same (huge) transactions.

Pay attention to following when testing this feature:
* mysql replication stream is not flushed. When load in MySQL master stops, you have to send at least wsrep_mysql_replication_bundle amount of void transactions to the master, to make sure your application payload was committed in wsrep provider cluster.

* max write set size limit is not taken in consideration. You should know your transactions and not set wsrep_mysql_replication_bundle too high. If max write set size is reached, wsrep provider will refuse to replicate the aggregated transaction.

Changed in codership-mysql:
milestone: none → 5.5.27-23.7
status: Fix Committed → In Progress
Revision history for this message
Seppo Jaakola (seppo-jaakola) wrote :

This implementation is still experimental, but was merged in the development head, nevertheless. Slave group commit feature is configurable, and is off by default.
Merge to the development head happened with revision: http://bazaar.launchpad.net/~codership/codership-mysql/wsrep-5.5/revision/3809

Changed in codership-mysql:
status: In Progress → Fix Committed
Changed in codership-mysql:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.