lp:~knielsen/maria/dingqi-parallel-replication
- Get this branch:
- bzr branch lp:~knielsen/maria/dingqi-parallel-replication
Branch merges
Branch information
Recent revisions
- 3444. By Kristian Nielsen
-
In-order commit for Taobao parallel replication.
Fix deadlock with MyISAM tables. If T2 got a table lock before T1,
then T1 would wait for T2 to complete, and T2 would wait for T1 to
commit -> deadlock.Now, for non-transactional tables, we consider it a conflict when
*any* update happens to the same table (regardless of key values).
Most such updates to MyISAM cannot be done in parallel anyway due
to table-level locking.(Later we might want to introduce a special flag for this for
storage engines, as even transactional engines could have
page-level locking or lock escalation or similar with similar
deadlock issues). - 3443. By Kristian Nielsen
-
In-order commit for Taobao parallel replication.
Re-write the traversal of tree-of-waiters during group commit.
This avoids unbounded recursion, and also fixes a race in the
old code which could lead to deadlock. - 3442. By Kristian Nielsen
-
In-order commit for Taobao parallel replication, intermediate commit
Push the wait_for_
prior_commit down into TC_LOG_BINLOG. This allows
group commit to work.There is a race in this code which can cause a deadlock. This happens
when a leader T1 grabs the group commit queue after T2 has put itself
into the queue, but before T2 has put a waitee T3 in the queue; T3
then becomes the next leader, but is never woken up.But I will fix the race as part of refactoring to avoid unbounded
recursion in queue_for_group_commit( ). - 3441. By Kristian Nielsen
-
In-order parallel replication: Fix group commit in InnoDB when no binlog on slave.
- 3440. By Kristian Nielsen
-
In-order commit for Taobao parallel replication.
Fix bug where we would wait for THD, not for transaction. This
fails if there are multiple transactions queued for one worker/
THD, we end up waking up too early on a previous commit.Fix another bug where if the worker queue runs full, then we
would miscompute what to wait for and end up waiting for
our own transaction, causing a deadlock. - 3439. By Kristian Nielsen
-
In-order commit for Taobao parallel replication, intermediate commit.
This patch does not work, as it handles the waiting in the wrong place.
This is just an intermediate commit before starting to refactor the code
to put the wait in the right place. - 3438. By Kristian Nielsen
-
MDEV-520: Taobao parallel replication.
- Fix memory leak due to missing call of ne_end()
- Fix wrong use of open_normal_and_derived_ tables( ) where plain
open_tables() should be used.(Probably these are mostly visible in debug build, which could be
the reason dingqi did not see them) - 3437. By Kristian Nielsen
-
Fix copy of THD::variables, which caused problems due to not updating plugin reference count.
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)
- Stacked on:
- lp:maria