June 18, 2013

Post: Understanding Multi-node writing conflict metrics in Percona XtraDB Cluster and Galera

… Galera replication is not a doing a full 2-phase commit to replicate (where all nodes commit synchronously with the client), but it is… pass certification (or this would be a form of two-phase commit), so the only way nodes might get different certification results… to force all nodes to commit simultaneously to guarantee cluster consistency as you would in a two-phase commit architecture. Seeing when replication…

Comment: Jeremy Cole on MySQL Replication

… need it and 2. have binary logging (replication) enabled your benchmarks suggested that by doing that (even if group commit is “broken… MySQL server processes a COMMIT statement, it writes the whole transaction to the binary log and then commits this transaction into InnoDB… what to make of that. XA support is traditionally for 2-phase commits between two different databases (or other transactional resources), i wouldn…

Comment: Understanding Multi-node writing conflict metrics in Percona XtraDB Cluster and Galera

No, flow is: 1) source node commit (COMMIT from client) 2) replicate to all nodes and determine GTID 3) certification on …) 4) source node: actual innodb commit(). Other nodes: enter apply queue 5) Other nodes: actual innodb commit() The trx is replicated before… second time on some other node, and now you have 2 phase commit. Replicating first allows Galera to certify deterministically because all certification…

Comment: Understanding Multi-node writing conflict metrics in Percona XtraDB Cluster and Galera

… second time on some other node, and now you have 2 phase commit. and now I get everything clear, Thank you!

Comment: Understanding Multi-node writing conflict metrics in Percona XtraDB Cluster and Galera

Good work! >>If you certified locally before replication, you would have a race condition where certification might fail the second time on some other node, and now you have 2 phase commit. why 2pc is required here?

Post: What is innodb_support_xa?

… what this option is for. It enables two-phase commit in InnoDB (prepare, then commit). This is necessary not only for user-initiated… also: post 1, post 2). This was motivated by the severe performance hit that occurred when the commit process was changed to… the variable is enabled (the default), InnoDB support for two-phase commit in XA transactions is enabled, which causes an extra disk…

Post: A case for MariaDB's Hash Joins

…. The Classic Hash Join Algorithm consists of two phases, a build phase and a probe phase. Let’s consider the case of joining…_file_size=512M innodb_log_files_in_group=2 innodb_flush_log_at_trx_commit=2 innodb_flush_method=O_DIRECT query_cache…_file_size=512M innodb_log_files_in_group=2 innodb_flush_log_at_trx_commit=2 innodb_flush_method=O_DIRECT query_cache…

Post: Aligning IO on a hard disk RAID – the Benchmarks

…. 2. I was running vmstat during one of the tests and my eye caught the spike in OS buffers during “prepare” phase… that sysbench would not honor –file-extra-flags during “prepare” phase and instead of having files created using direct IO they…_file_path = ibdata1:10M:autoextend innodb_flush_log_at_trx_commit = 2 innodb_flush_method = O_DIRECT innodb_log_buffer_size = 8M…

Post: MySQL 4 to MySQL 5 Upgrade performance regressions

… potentially even empty queue. This is because bottleneck happens in commit phase which is not counted as “inside innodb”. I wish there… time recovery and replication. Use innodb_flush_log_at_trx_commit=2 This is probably best solution. In many cases this would… updates outside of transactions in auto_commit mode. Wrap them in transactions and reduce number of commits if you can. It is…

Post: Intel SSD 910 vs HDD RAID in tpcc-mysql benchmark

… is taken only for last 1h to remove warm-up phase Parameters to vary: we vary innodb_buffer_pool_size:25… these results are received with innodb_flush_log_at_trx_commit=2, which in comments to previous post was called cheating. So… is some penalty of using innodb_flush_log_at_trx_commit=1, but it is not significant. Conclusion In conclusion I…