Hi Jean-Francois B. Gagne, On Sun, Jan 8, 2017 at 8:39 PM, Jean-Francois B. Gagne <jeanfrancois.gagne@booking.com> wrote:
Hi Sachin,
I am very happy to see you work on that. Comments below.
On 8 January 2017 at 09:34, Sachin Setiya <sachin.setiya@mariadb.com> wrote:
I am stuck at one problem in Mdev-10664. Suppose there is multisource replication('master1' and 'master2' ) and we want to update status var, How to know which master_info to update ?. Does slave threads have current replication channel name? (I was not able to find any , I have looked in rpl_group_info)
By updating master_info above you mean updating the master_info RAM structre, right ? Not the master_info file... Yes.
The easier way to give visibility on parallel replication stalls is to add a global status variable like slave_retried_transactions (slave_optimistic_stalls ?). However, this hides which multi-source channel generated that stall (or retried transaction). Is there a way to show this information in SHOW SLAVE STATUS or in Performance Schema (Oracle MySQL is exposing per-channel counter in P_S I thing...) ? Yes this can be done. Kristian what you think ?
While you are working on this, might I suggest that you also expose something like what BINLOG_COMMIT and BINLOG_GROUP_COMMIT the slave is seeing from the master in conservative mode (and per-channel). Today, to monitor parallel replication, we need to get this information from the master and maps it to the position including lag) of the slave. It would be great to be able to monitor a slave only by looking at the slave (something like slave_binlog_commit_master and slave_binlog_group_commit_master global status would be a 1st start). Created a mdev for this task MDEV-11744. I am not sure how to do this. It will take some time.
Many thanks
JFG
Regards sachin