summaryrefslogtreecommitdiff
path: root/sql/rpl_parallel.h
diff options
context:
space:
mode:
authorSujatha <sujatha.sivakumar@mariadb.com>2021-04-08 15:49:32 +0530
committerSujatha <sujatha.sivakumar@mariadb.com>2021-04-08 17:19:51 +0530
commit94f1d0f84d58535e6f14a33b91daf7f47da4a29e (patch)
tree80f215d50e3eb6a3df7559de49b2bfeb8ae3592e /sql/rpl_parallel.h
parent7c524d4414e1608a54a8affbcce35d08c1ceaa59 (diff)
downloadmariadb-git-94f1d0f84d58535e6f14a33b91daf7f47da4a29e.tar.gz
MDEV-20220: Merge 5.7 P_S replication table 'replication_applier_status_by_worker
Step1: ===== Backport 'replication_applier_status_by_worker' from upstream. Iterate through rpl_parallel_thread_pool and display slave worker thread specific information as part of 'replication_applier_status_by_worker' table. --------------------------------------------------------------------------- |Column Name: | Description: | |-------------------------------------------------------------------------| | | | |CHANNEL_NAME | Name of replication channel through which the | | | transaction is received. | | | | |THREAD_ID | Thread_Id as displayed in 'performance_schema. | | | threads' table for thread with name | | | 'thread/sql/rpl_parallel_thread' | | | | | | THREAD_ID will be NULL when worker threads are | | | stopped due to an error/force stop | | | | |SERVICE_STATE | Thread is running or not | | | | |LAST_SEEN_TRANSACTION | Last GTID executed by worker | | | | |LAST_ERROR_NUMBER | Last Error that occured on a particular worker | | | | |LAST_ERROR_MESSAGE | Last error specific message | | | | |LAST_ERROR_TIMESTAMP | Time stamp of last error | | | | --------------------------------------------------------------------------- CHANNEL_NAME will be empty when the worker has not processed any transaction. Channel_name points to valid source channel_name when it is processing a transaction/event group.
Diffstat (limited to 'sql/rpl_parallel.h')
-rw-r--r--sql/rpl_parallel.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/sql/rpl_parallel.h b/sql/rpl_parallel.h
index b88e77d5427..49e245176ff 100644
--- a/sql/rpl_parallel.h
+++ b/sql/rpl_parallel.h
@@ -161,6 +161,12 @@ struct rpl_parallel_thread {
inuse_relaylog *accumulated_ir_last;
uint64 accumulated_ir_count;
+ char channel_name[MAX_CONNECTION_NAME];
+ uint channel_name_length;
+ rpl_gtid last_seen_gtid;
+ int last_error_number;
+ char last_error_message[MAX_SLAVE_ERRMSG];
+ ulonglong last_error_timestamp;
void enqueue(queued_event *qev)
{
if (last_in_queue)
@@ -224,6 +230,7 @@ struct rpl_parallel_thread {
void batch_free();
/* Update inuse_relaylog refcounts with what we have accumulated so far. */
void inuse_relaylog_refcount_update();
+ rpl_parallel_thread();
};