MySQL 8.0.39
Source Code Documentation
|
MDL subgraph inspector class to be used as a ticket to wait on by worker threads. More...
#include <rpl_replica_commit_order_manager.h>
Public Member Functions | |
Commit_order_lock_graph (MDL_context &ctx, Commit_order_manager &mngr, uint32 worker_id) | |
Constructor for the class. More... | |
virtual | ~Commit_order_lock_graph () override=default |
Default destructor. More... | |
MDL_context * | get_ctx () const |
Retrieves the MDL context object associated with the underlying worker. More... | |
uint32 | get_worker_id () const |
Retrieves the identifier for the underlying worker thread. More... | |
bool | accept_visitor (MDL_wait_for_graph_visitor *dvisitor) override |
Determines if the underlying worker is in deadlock with the MDL context encapsulated in the visitor parameter. More... | |
uint | get_deadlock_weight () const override |
Retrieves the deadlock weight to be used to replace a visitor victim's, when more than one deadlock is found. More... | |
Public Member Functions inherited from MDL_wait_for_subgraph | |
virtual | ~MDL_wait_for_subgraph () |
Private Attributes | |
MDL_context & | m_ctx |
The MDL context object associated with the underlying worker. More... | |
Commit_order_manager & | m_mngr |
The Commit_order_manager instance associated with the underlying worker channel's Relay_log_info object. More... | |
uint32 | m_worker_id {0} |
The identifier for the underlying worker thread. More... | |
Additional Inherited Members | |
Static Public Attributes inherited from MDL_wait_for_subgraph | |
static const uint | DEADLOCK_WEIGHT_CO = 0 |
static const uint | DEADLOCK_WEIGHT_DML = 25 |
static const uint | DEADLOCK_WEIGHT_ULL = 50 |
static const uint | DEADLOCK_WEIGHT_DDL = 100 |
MDL subgraph inspector class to be used as a ticket to wait on by worker threads.
Each worker will create its own instance of this class and will use its own THD MDL_context to search for deadlocks.
Commit_order_lock_graph::Commit_order_lock_graph | ( | MDL_context & | ctx, |
Commit_order_manager & | mngr, | ||
uint32 | worker_id | ||
) |
Constructor for the class.
ctx | The worker THD MDL context object. |
mngr | The Commit_order_manager instance associated with the current channel's Relay_log_info object. |
worker_id | The identifier of the worker targeted by this object. |
|
overridevirtualdefault |
Default destructor.
|
overridevirtual |
Determines if the underlying worker is in deadlock with the MDL context encapsulated in the visitor parameter.
dvisitor | The MDL graph visitor to check for deadlocks against. |
Implements MDL_wait_for_subgraph.
MDL_context * Commit_order_lock_graph::get_ctx | ( | ) | const |
Retrieves the MDL context object associated with the underlying worker.
|
overridevirtual |
Retrieves the deadlock weight to be used to replace a visitor victim's, when more than one deadlock is found.
Implements MDL_wait_for_subgraph.
uint32 Commit_order_lock_graph::get_worker_id | ( | ) | const |
Retrieves the identifier for the underlying worker thread.
|
private |
The MDL context object associated with the underlying worker.
|
private |
The Commit_order_manager instance associated with the underlying worker channel's Relay_log_info object.
|
private |
The identifier for the underlying worker thread.