Documentation Home
MySQL 8.0 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 38.5Mb
PDF (A4) - 38.5Mb
PDF (RPM) - 33.3Mb
HTML Download (TGZ) - 8.1Mb
HTML Download (Zip) - 8.2Mb
HTML Download (RPM) - 7.0Mb
Man Pages (TGZ) - 134.2Kb
Man Pages (Zip) - 190.2Kb
Info (Gzip) - 3.4Mb
Info (Zip) - 3.4Mb
Excerpts from this Manual

25.11.11.6 The replication_applier_status_by_worker Table

This table provides details of the transactions handled by applier threads on a replication slave or Group Replication group member. For a single-threaded slave, data is shown for the slave's single applier thread. For a multithreaded slave, data is shown individually for each applier thread. The applier threads on a multithreaded slave are sometimes called workers. The number of applier threads on a replication slave or Group Replication group member is set by the slave_parallel_workers system variable, which is set to zero for a single-threaded slave. A multithreaded slave also has a coordinator thread to manage the applier threads, and the status of this thread is shown in the replication_applier_status_by_coordinator table.

All error codes and messages displayed in the columns relating to errors correspond to error values listed in Section B.3, “Server Error Codes and Messages”.

When the Performance Schema is disabled, local timing information is not collected, so the fields showing the start and end timestamps for applied transactions are zero. The start timestamps in this table refer to when the worker started applying the first event, and the end timestamps refer to when the last event of the transaction was applied.

When a replication slave is restarted by a START SLAVE statement, the columns beginning APPLYING_TRANSACTION are reset. Before MySQL 8.0.13, these columns were not reset on a slave that was operating in single-threaded mode, only on a multithreaded slave.

The replication_applier_status_by_worker table has these columns:

  • CHANNEL_NAME

    The replication channel which this row is displaying. There is always a default replication channel, and more replication channels can be added. See Section 17.2.3, “Replication Channels” for more information.

  • WORKER_ID

    The worker identifier (same value as the id column in the mysql.slave_worker_info table). After STOP SLAVE, the THREAD_ID column becomes NULL, but the WORKER_ID value is preserved.

  • THREAD_ID

    The worker thread ID.

  • SERVICE_STATE

    ON (thread exists and is active or idle) or OFF (thread no longer exists).

  • LAST_ERROR_NUMBER, LAST_ERROR_MESSAGE

    The error number and error message of the most recent error that caused the worker thread to stop. An error number of 0 and message of the empty string mean no error. If the LAST_ERROR_MESSAGE value is not empty, the error values also appear in the slave's error log.

    Issuing RESET MASTER or RESET SLAVE resets the values shown in these columns.

  • LAST_ERROR_TIMESTAMP

    A timestamp in 'YYYY-MM-DD HH:MM:SS[.fraction]' format that shows when the most recent worker error occurred.

  • LAST_APPLIED_TRANSACTION

    The global transaction ID (GTID) of the last transaction applied by this worker.

  • LAST_APPLIED_TRANSACTION_ORIGINAL_COMMIT_TIMESTAMP

    A timestamp in 'YYYY-MM-DD HH:MM:SS[.fraction]' format that shows when the last transaction applied by this worker was committed on the original master.

  • LAST_APPLIED_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP

    A timestamp in 'YYYY-MM-DD HH:MM:SS[.fraction]' format that shows when the last transaction applied by this worker was committed on the immediate master.

  • LAST_APPLIED_TRANSACTION_START_APPLY_TIMESTAMP

    A timestamp in 'YYYY-MM-DD HH:MM:SS[.fraction]' format that shows when this worker started applying the last applied transaction.

  • LAST_APPLIED_TRANSACTION_END_APPLY_TIMESTAMP

    A timestamp in 'YYYY-MM-DD HH:MM:SS[.fraction]' format that shows when this worker finished applying the last applied transaction.

  • APPLYING_TRANSACTION

    The global transaction ID (GTID) of the transaction this worker is currently applying.

  • APPLYING_TRANSACTION_ORIGINAL_COMMIT_TIMESTAMP

    A timestamp in 'YYYY-MM-DD HH:MM:SS[.fraction]' format that shows when the transaction this worker is currently applying was committed on the original master.

  • APPLYING_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP

    A timestamp in 'YYYY-MM-DD HH:MM:SS[.fraction]' format that shows when the transaction this worker is currently applying was committed on the immediate master.

  • APPLYING_TRANSACTION_START_APPLY_TIMESTAMP

    A timestamp in 'YYYY-MM-DD HH:MM:SS[.fraction]' format that shows when this worker started its first attempt to apply the transaction that is currently being applied. Before MySQL 8.0.13, this timestamp was refreshed when a transaction was retried due to a transient error, so it showed the timestamp for the most recent attempt to apply the transaction.

  • LAST_APPLIED_TRANSACTION_RETRIES_COUNT

    The number of times the last applied transaction was retried by the worker after the first attempt. If the transaction was applied at the first attempt, this number is zero.

  • LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_NUMBER

    The error number of the last transient error that caused the transaction to be retried.

  • LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_MESSAGE

    The message text for the last transient error that caused the transaction to be retried.

  • LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_TIMESTAMP

    The timestamp in 'YYYY-MM-DD HH:MM:SS[.fraction]' format for the last transient error that caused the transaction to be retried.

  • APPLYING_TRANSACTION_RETRIES_COUNT

    The number of times the transaction that is currently being applied was retried until this moment. If the transaction was applied at the first attempt, this number is zero.

  • APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_NUMBER

    The error number of the last transient error that caused the current transaction to be retried.

  • APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_MESSAGE

    The message text for the last transient error that caused the current transaction to be retried.

  • APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_TIMESTAMP

    The timestamp in 'YYYY-MM-DD HH:MM:SS[.fraction]' format for the last transient error that caused the current transaction to be retried.

The replication_applier_status_by_worker table has these indexes:

  • Primary key on (CHANNEL_NAME, WORKER_ID)

  • Index on (THREAD_ID)

The following table shows the correspondence between replication_applier_status_by_worker columns and SHOW SLAVE STATUS columns.

replication_applier_status_by_worker Column SHOW SLAVE STATUS Column
WORKER_ID None
THREAD_ID None
SERVICE_STATE None
LAST_ERROR_NUMBER Last_SQL_Errno
LAST_ERROR_MESSAGE Last_SQL_Error
LAST_ERROR_TIMESTAMP Last_SQL_Error_Timestamp

User Comments
User comments in this section are, as the name implies, provided by MySQL users. The MySQL documentation team is not responsible for, nor do they endorse, any of the information provided here.
Sign Up Login You must be logged in to post a comment.