{"push_id":730033396,"size":2,"distinct_size":2,"ref":"refs/heads/bb-10.1-knielsen","head":"dc87c6b9b8edf80a9fcd8b21b7d2e0d86ad3100c","before":"9c65f0ab0a6418dbaaf0c6a5ae29bb388645946d","commits":[{"sha":"076f86ec81cf672d5692fb2fe449076ae848db91","author":{"email":"4a02e09e830aa883035f8b14748f8f1fdbd72fb8@knielsen-hq.org","name":"Kristian Nielsen"},"message":"Follow-up patch for more aggressive retry in --slave-parallel-mode=aggressive\n\nNow after having retried a transaction slave_trans_retries/2 times, we\nfall back to waiting for all prior transactions to commit before\ncontinuing to retry.\n\nThis way, we avoid breaking replication if we repeatedly deadlock\nagainst a list of earlier transactions T1, T2, T3, ...","distinct":true,"url":"https://api.github.com/repos/MariaDB/server/commits/076f86ec81cf672d5692fb2fe449076ae848db91"},{"sha":"dc87c6b9b8edf80a9fcd8b21b7d2e0d86ad3100c","author":{"email":"4a02e09e830aa883035f8b14748f8f1fdbd72fb8@knielsen-hq.org","name":"Kristian Nielsen"},"message":"Tentative patch to add some status variables for parallel replication\n\nFollow-up patch, correcting and improving the previous patch.\n\nFirst, the code for slave_parallel_wait_prior was incomplete. Some cases of\nwaiting for a prior transaction were incorrectly attributed to\nslave_parallel_processing, underestimating the cost of enforcing in-order.\n\nSecond, two extra status variables are introduced to better distinguish\ndifferent reasons for waiting for a prior transaction. With this patch we\nhave:\n\n1. slave_parallel_wait_prior. This counts time where a transaction was ready\nto commit, but had to wait for a prior transaction to commit first to\nenforce correct in-order replication.\n\n2. slave_parallel_wait_retry. This counts the wait that happens when a\ntransaction deadlocks. (In addition to this, the transaction needs to be\nrolled back and re-tried, these are accounted for in\nslave_parallel_trx_retry).\n\n3. slave_parallel_wait_dependency. In the optimistic and aggressive modes,\nthis counts waits done for transaction processing that cannot happen in\nparallel. This includes non-transactional updates (MyISAM) and\nstatement-based replication of temporary tables, which are not safe to\noptimistically parallelise. It also includes heuristics in optimistic mode\nthat avoids parallel replication of transactions that had row lock waits on\nthe master or that were marked with @@skip_parallel_replication. (It does\nnot include DDL-induced waits, these are accounted as\nslave_parallel_wait_group in optimistic and aggressive modes).","distinct":true,"url":"https://api.github.com/repos/MariaDB/server/commits/dc87c6b9b8edf80a9fcd8b21b7d2e0d86ad3100c"}]}