facebook / mysql-5.6

Facebook's branch of the Oracle MySQL database. This includes MyRocks.
http://myrocks.io
Other
2.48k stars 712 forks source link

tc_mmap makes commit slow when innodb & rocksdb enabled and binlog disabled #227

Open mdcallag opened 8 years ago

mdcallag commented 8 years ago

See:

Can we fix this in FB MySQL?

laurynas-biveinis commented 8 years ago

Oracle bug https://bugs.mysql.com/bug.php?id=80870

gunnarku commented 7 years ago

Closing because this is an upstream issue.

george-lorch commented 7 years ago

Actually, it will become a downstream issue as well since in PS (and MariaDB?) InnoDB and other transactional storage engines will always be present.

We are considering a new session variable that tells the server that the session intends to use only one transactional engine. This way, when set during transaction begin and if no binlog TC is needed/present, then use no TC at all. Then later, if the session attempts to engage a second transactional engine, kick back an error to the client.

We are also planning to look further into the TC_MMAP coordinator as the problem stems from its group commit algorithm. It is not optimized as well as TC_BINLOG.

mdcallag commented 7 years ago

For us this is likely an issue when 2 engines are used, which might happen in MySQL 8. For the community this can happen before MySQL 8 as many people will use InnoDB and MyRocks. Can we figure out how hard this is to fix?

guyuezql commented 7 years ago

We disable binlog and come across problem described in https://bugs.mysql.com/bug.php?id=86902 when we are running tests on rocksdb. when I enable binlog the problem never happen again.