diff options
author | unknown <knielsen@knielsen-hq.org> | 2013-07-03 13:46:33 +0200 |
---|---|---|
committer | unknown <knielsen@knielsen-hq.org> | 2013-07-03 13:46:33 +0200 |
commit | 31a5edb5c27d2ecae8d19345e1a373d22246143a (patch) | |
tree | 506d6dc5296b26619b3880dac6df5dc7748111e6 /sql/rpl_parallel.h | |
parent | 1b3dc66e3117a09c95a00be2f649b975fdb25e2e (diff) | |
download | mariadb-git-31a5edb5c27d2ecae8d19345e1a373d22246143a.tar.gz |
MDEV-4506: Parallel replication. Intermediate commit.
Hook in the wait-for-prior-commit logic (not really tested yet).
Clean up some resource maintenance around rpl_group_info (may still be some
smaller issues there though).
Add a ToDo list at the top of rpl_parallel.cc
Diffstat (limited to 'sql/rpl_parallel.h')
-rw-r--r-- | sql/rpl_parallel.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/sql/rpl_parallel.h b/sql/rpl_parallel.h index c5bb39cb6fc..b0367efdea6 100644 --- a/sql/rpl_parallel.h +++ b/sql/rpl_parallel.h @@ -25,7 +25,6 @@ struct rpl_parallel_thread { Log_event *ev; struct rpl_group_info *rgi; } *event_queue, *last_in_queue; - rpl_parallel_thread *wait_for; /* ToDo: change this ... */ }; @@ -52,6 +51,14 @@ struct rpl_parallel_entry { uint64 last_commit_id; bool active; rpl_parallel_thread *rpl_thread; + /* + The sub_id of the last transaction to commit within this domain_id. + Must be accessed under LOCK_parallel_entry protection. + */ + uint64 last_committed_sub_id; + mysql_mutex_t LOCK_parallel_entry; + uint64 current_sub_id; + struct rpl_group_info *current_group_info; }; struct rpl_parallel { HASH domain_hash; @@ -60,7 +67,7 @@ struct rpl_parallel { rpl_parallel(); ~rpl_parallel(); rpl_parallel_entry *find(uint32 domain_id); - bool do_event(Relay_log_info *rli, Log_event *ev, THD *thd); + bool do_event(struct rpl_group_info *serial_rgi, Log_event *ev, THD *thd); }; |