I found time to continue my previous work on group commit for the binary log in MariaDB.
In current code, a (group) commit to InnoDB does not less than
three fsync()
calls:
- Once during InnoDB prepare, to make sure we can recover the transaction in InnoDB if we crash after writing it to the binlog.
- Once after binlog write, to make sure we have the transaction in the binlog before we irrevocably commit it in InnoDB.
- Once during InnoDB commit, to make sure we no longer need to scan …