• Sujatha's avatar
    MDEV-20220: Merge 5.7 P_S replication table 'replication_applier_status_by_worker · d8682d10
    Sujatha authored
    Fix:
    ===
    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:                                   |
    |-------------------------------------------------------------------------------|
    |                       |                                                       |
    |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 error/force stop                               |
    |                       |                                                       |
    |SERVICE_STATE          | Thread is running or not                              |
    |                       |                                                       |
    |LAST_SEEN_TRANSACTION  | Last GTID executed by worker                          |
    |                       |                                                       |
    |LAST_ERROR_NUMBER      | Last Error that occurred on a particular worker       |
    |                       |                                                       |
    |LAST_ERROR_MESSAGE     | Last error specific message                           |
    |                       |                                                       |
    |LAST_ERROR_TIMESTAMP   | Time stamp of last error                              |
    |                       |                                                       |
    |WORKER_IDLE_TIME       | Total idle time in seconds that the worker thread has |
    |                       | spent waiting for work from SQL thread                |
    |                       |                                                       |
    |LAST_TRANS_RETRY_COUNT | Total number of retries attempted by last transaction |
    ---------------------------------------------------------------------------------
    
    
    In case STOP SLAVE is executed worker threads will be gone, hence worker
    threads will be unavailable. Querying the table at this stage will give empty
    rows. To address this case when worker threads are about to stop, due to an
    error or forced stop, create a backup pool and preserve the data which is
    relevant to populate performance schema table. Clear the backup pool upon
    slave start.
    d8682d10
rpl_parallel.h 15 KB