![]() |
MySQL 26.7.0
Source Code Documentation
|
Namespaces | |
| namespace | anonymous_namespace{csa_service.cpp} |
| namespace | anonymous_namespace{job.cpp} |
| namespace | anonymous_namespace{relay_log_adaptive_reader.cpp} |
| namespace | tune |
Classes | |
| class | Applier_channel_monitor |
| class | Cached_event |
| Implementation of the IReader_event which contains a cached, decoded event. More... | |
| class | Cached_event_payload |
| Implementation of the IReader_event which keeps event raw payload until decoded. More... | |
| class | Channel |
| Represents a channel in the Change Stream Applier (CSA). More... | |
| struct | Csa_channel |
| Aggregates applier structures for a single channel. More... | |
| class | Csa_service |
| Service class for the Change Streams Applier (CSA) More... | |
| class | Data_source |
| Represents a cached chunk of data that comes from the specific relay log file (events / headers may cross boundaries of Data_source, but one Data_source does not spread across multiple relay log files) Keeps track of the number of bytes currently in use. More... | |
| class | Defs |
| Common definitions used across multiple classes. More... | |
| class | Dependency_adapter |
| Class that resolves dependencies based on transaction sequence number and last committed. More... | |
| class | Dependency_adapter_lwm |
| Dependency adapter for LWM (Low Water Mark) based scheduling. More... | |
| class | Event_file_metadata |
| Represents basic event metadata: type and length. More... | |
| class | Event_reader_controller |
| The Event Reader / Controller class. More... | |
| class | Event_set_fetchable |
| Represents metadata of a set of events, capable of being fetched from a storage. More... | |
| class | Event_set_fetchable_cache |
| Empty implementation of Event_set_fetchable that does not fetch events from the storage as they were already fetched. More... | |
| class | Event_set_fetchable_relay_log |
| Implementation of Event_set_fetchable that fetches events from the relay log. More... | |
| class | Fetchable_transaction |
| Opaque for transaction, that is able to fetch itself in parts from the storage on demand. More... | |
| class | Initable |
| Interface for initable components. More... | |
| class | IReader_event |
| Interface for abstract event data returned by the reader, which can be decoded into a log event using the "decode" function. More... | |
| class | Istream_prefetched |
| Implementation of the Basic_istream, which reads data from the prefetched relay log. More... | |
| class | Job |
| A job represents a single unit of work applied by worker pool threads. More... | |
| class | Job_applier |
| Concrete class representing job applied by the applier. More... | |
| class | Job_binlog |
| The Job_binlog class is a container that holds a buffer of fetchable events and context for the transaction to be applied in change streams. More... | |
| class | Lock_guard_object |
| Scope guard to unlock an object. More... | |
| struct | Locked_resource |
| Resource guard class, used to check if resource was successfully locked and release resource in destructor. More... | |
| class | Log_prefetcher |
| This class starts an asynchronous thread that prefetches consecutive logs recorded in the index file. More... | |
| class | Log_purge_controller |
| Interface for a relay log controller which is capable of purging the relay logs. More... | |
| class | Managed_event |
| Managed event. More... | |
| class | Module |
| Represents a lockable module. More... | |
| class | Prefetched_ifile |
| Implementation of the Basic_binlog_ifile, which works on the prefetched stream (Istream_prefetched) Exposes additional function to set prefetcher (since legacy design does not allow to use a custom constructor - see Basic_binlog_file_reader). More... | |
| class | Reader |
| class | Relay_context |
| Handles and operates the handled session. More... | |
| class | Relay_log_adaptive_reader |
| Iterates over relay log and returns fetchable Jobs This reader reads consecutive events from the relay log and caches events. More... | |
| class | Relay_log_deleter |
| Class responsible for removing relay log file, when the last handle to this deleter is released. More... | |
| class | Rescue_task |
| Rescue task to rollback conflicting transaction. More... | |
| struct | Resource_entry |
| Entry for a named resource, managing available count and synchronization. More... | |
| class | Resource_instance_monitor |
| Manages per-channel resources for the Change Stream Applier (CSA). More... | |
| struct | Resource_map |
| Resources used by a channel. More... | |
| class | Resource_monitor |
| Singleton Resource Monitor for all channels/instances. More... | |
| class | Session |
| Wraps up THD object and provides simple function to manage its execution within CSA. More... | |
| struct | Session_guard |
| RAII guard for temporarily switching current_thd to a session THD. More... | |
| struct | Session_legacy_stats |
| Aggregates MTA legacy statistics. More... | |
| class | Session_service |
| Service that provides a free session to executing transactions. More... | |
| class | Session_service_bounded_queue |
| Service that provides a free session to executing transactions. More... | |
| struct | Session_service_psi |
| Dependency_tracker instrumentation parameters, packed into this structure to simplify construction of a Dependency_tracker class instance and prevent mistakes when passing a lot of integer parameters into the class constructor. More... | |
| struct | Sliding_window_counter |
| Calculates statistic value in a time window. More... | |
| class | Statistics_map |
| Supported statistics: More... | |
| class | Sync_transaction_provider |
| Implementation of 'Transaction_provider' interface. More... | |
| class | Task_exec_job |
| A task that executes a job in the change streams apply system. More... | |
| class | Transaction_conflict_manager |
| Rescue thread for solving conflicts between transactions Main methods are: More... | |
| class | Transaction_conflict_monitor |
| Singleton Transaction_conflict_manager for all of the registered "instances". More... | |
| class | Transaction_provider |
| Interface for all transaction providers. More... | |
Typedefs | |
| using | Relay_context_ptr = std::shared_ptr< Relay_context > |
| using | Transaction_provider_sptr = std::shared_ptr< Transaction_provider > |
| using | Job_ptr = Job * |
| Type alias for a pointer to Job. More... | |
| using | Resource_instance_monitor_ref = std::reference_wrapper< Resource_instance_monitor > |
| using | Dependency_adapter_ptr = std::unique_ptr< Dependency_adapter > |
| Unique pointer type for Dependency_adapter. More... | |
| using | Transaction_conflict_manager_sptr = std::unique_ptr< Transaction_conflict_manager > |
| using | Session_service_ptr = std::shared_ptr< Session_service > |
| Shared pointer to Session_service. More... | |
| using | Event_set_fetchable_ptr = std::unique_ptr< Event_set_fetchable > |
| Unique pointer to a specific implementation of Event_set_fetchable (no need to share). More... | |
| using | Event_set_fetchable_list = std::list< Event_set_fetchable_ptr > |
| List of Event_set_fetchable pointers, each able to fetch a whole transaction from the storage. More... | |
| using | Reader_sptr = std::shared_ptr< Reader > |
| Shared reader type. More... | |
| using | Data_source_sptr = std::shared_ptr< Data_source > |
| using | IReader_event_ptr = std::shared_ptr< IReader_event > |
| using | Vector_type = Data_source::Data_type |
| using | Log_prefetcher_sptr = std::shared_ptr< Log_prefetcher > |
| using | Log_purge_controller_ref = std::reference_wrapper< Log_purge_controller > |
| using | Log_purge_controller_sptr = std::shared_ptr< Log_purge_controller > |
| using | Prefetched_relaylog_reader = Basic_binlog_file_reader< Prefetched_ifile, Binlog_event_data_istream, Binlog_event_object_istream, Default_binlog_event_allocator > |
| using | Relay_log_deleter_handle = std::shared_ptr< Relay_log_deleter > |
| Represents a shared reference to Relay_log_deleter. More... | |
| using | Sync_transaction_provider_sptr = std::unique_ptr< Sync_transaction_provider > |
Enumerations | |
| enum class | Transaction_phase { prepare = 0 , commit_register = 1 , commit_binlog = 2 , retry_commit = 3 , done = 4 } |
| Lists all phases the Job_binlog can be in. More... | |
| enum class | Rescue_operation_type { rollback } |
| Types of rescue operations. More... | |
| enum class | Reader_controller_read_type { event , metadata , cache_metadata } |
Functions | |
| static void | init_psi_csa_rwlocks () |
| static void | init_psi_csa_mutexes () |
| static void | init_psi_csa_conds () |
| static void | init_psi_csa_thread_keys (void) |
| static void | init_psi_csa_mem () |
| static void | init_psi_stages_info (void) |
| void | init_csa_psi () |
| Initializes PSI keys for CSA. More... | |
| void | init_mta_psi_cond_keys () |
| Initializes PSI condition variable keys for MTA. More... | |
| using mysql::csa::Data_source_sptr = typedef std::shared_ptr<Data_source> |
| using mysql::csa::Dependency_adapter_ptr = typedef std::unique_ptr<Dependency_adapter> |
Unique pointer type for Dependency_adapter.
| using mysql::csa::Event_set_fetchable_list = typedef std::list<Event_set_fetchable_ptr> |
List of Event_set_fetchable pointers, each able to fetch a whole transaction from the storage.
| using mysql::csa::Event_set_fetchable_ptr = typedef std::unique_ptr<Event_set_fetchable> |
Unique pointer to a specific implementation of Event_set_fetchable (no need to share).
| using mysql::csa::IReader_event_ptr = typedef std::shared_ptr<IReader_event> |
| using mysql::csa::Job_ptr = typedef Job * |
Type alias for a pointer to Job.
| using mysql::csa::Log_prefetcher_sptr = typedef std::shared_ptr<Log_prefetcher> |
| using mysql::csa::Log_purge_controller_ref = typedef std::reference_wrapper<Log_purge_controller> |
| using mysql::csa::Log_purge_controller_sptr = typedef std::shared_ptr<Log_purge_controller> |
| using mysql::csa::Prefetched_relaylog_reader = typedef Basic_binlog_file_reader<Prefetched_ifile, Binlog_event_data_istream, Binlog_event_object_istream, Default_binlog_event_allocator> |
| using mysql::csa::Reader_sptr = typedef std::shared_ptr<Reader> |
Shared reader type.
| using mysql::csa::Relay_context_ptr = typedef std::shared_ptr<Relay_context> |
| using mysql::csa::Relay_log_deleter_handle = typedef std::shared_ptr<Relay_log_deleter> |
Represents a shared reference to Relay_log_deleter.
See explanation below.
| using mysql::csa::Resource_instance_monitor_ref = typedef std::reference_wrapper<Resource_instance_monitor> |
| using mysql::csa::Session_service_ptr = typedef std::shared_ptr<Session_service> |
Shared pointer to Session_service.
| using mysql::csa::Sync_transaction_provider_sptr = typedef std::unique_ptr<Sync_transaction_provider> |
| using mysql::csa::Transaction_conflict_manager_sptr = typedef std::unique_ptr<Transaction_conflict_manager> |
| using mysql::csa::Transaction_provider_sptr = typedef std::shared_ptr<Transaction_provider> |
| using mysql::csa::Vector_type = typedef Data_source::Data_type |
|
strong |
|
strong |
|
strong |
| void mysql::csa::init_csa_psi | ( | void | ) |
Initializes PSI keys for CSA.
| void mysql::csa::init_mta_psi_cond_keys | ( | ) |
Initializes PSI condition variable keys for MTA.
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
| PSI_cond_info mysql::csa::all_csa_conds[] |
| PSI_mutex_info mysql::csa::all_csa_locks[] |
|
static |
| PSI_stage_info* mysql::csa::all_csa_plugin_stages[] |
| PSI_rwlock_info mysql::csa::all_csa_rwlocks[] |
| PSI_thread_info mysql::csa::all_csa_threads[] |
| PSI_cond_key mysql::csa::key_cv_csa_prefetcher_file_move |
PSI cond key for CSA prefetcher file move.
| PSI_cond_key mysql::csa::key_cv_csa_prefetcher_wait |
PSI cond key for CSA prefetcher wait.
| PSI_cond_key mysql::csa::key_cv_csa_sched_end |
PSI cond key for CSA scheduler end.
| PSI_cond_key mysql::csa::key_cv_csa_sched_main |
| PSI_memory_key mysql::csa::key_decompressing_stream |
PSI memory key for decompressing stream.
| PSI_memory_key mysql::csa::key_mem_csa_prefetcher |
| PSI_memory_key mysql::csa::key_mem_csa_provider |
PSI memory key for CSA provider.
| PSI_memory_key mysql::csa::key_mem_csa_scheduler |
PSI memory key for CSA scheduler.
| PSI_memory_key mysql::csa::key_mem_csa_session_service |
PSI memory key for CSA session service.
| PSI_memory_key mysql::csa::key_mem_csa_thp |
PSI memory key for CSA THP.
| PSI_mutex_key mysql::csa::key_mt_csa_prefetcher_file_move |
PSI mutex key for CSA prefetcher file move.
| PSI_mutex_key mysql::csa::key_mt_csa_prefetcher_wait |
PSI mutex key for CSA prefetcher wait.
| PSI_mutex_key mysql::csa::key_mt_csa_sched_end |
PSI mutex key for CSA scheduler end.
| PSI_mutex_key mysql::csa::key_mt_csa_sched_main |
PSI mutex key for CSA scheduler main.
| PSI_mutex_key mysql::csa::key_mt_csa_sched_phases |
PSI mutex key for CSA scheduler phases.
| PSI_mutex_key mysql::csa::key_mt_csa_sched_tasks |
PSI mutex key for CSA scheduler tasks.
| PSI_mutex_key mysql::csa::key_mt_csa_session_service_entry |
PSI mutex key for CSA session service entry.
| PSI_mutex_key mysql::csa::key_mutex_module |
PSI mutex key for module.
| PSI_mutex_key mysql::csa::key_mutex_scheduler |
| PSI_rwlock_key mysql::csa::key_rwlock_module |
PSI rwlock key for module locking.
| PSI_thread_key mysql::csa::key_thread_prefetcher |
PSI thread key for prefetcher threads.
| PSI_thread_key mysql::csa::key_thread_scheduler |
PSI thread key for scheduler threads.
| PSI_thread_key mysql::csa::key_thread_session |
PSI thread key for prefetcher threads.
| PSI_thread_key mysql::csa::key_thread_worker |
|
static |
| PSI_stage_info mysql::csa::stage_csa_clock_add |
Stage for CSA clock add.
| PSI_stage_info mysql::csa::stage_csa_clock_tick |
Stage for CSA clock tick.
| PSI_stage_info mysql::csa::stage_csa_dep_add |
Stage for CSA dependency add.
| PSI_stage_info mysql::csa::stage_csa_dep_register |
Stage for CSA dependency register.
| PSI_stage_info mysql::csa::stage_csa_dep_task_done |
Stage for CSA dependency task done.
| PSI_stage_info mysql::csa::stage_csa_enqueue_transaction |
Stage for CSA enqueue transaction.
| PSI_stage_info mysql::csa::stage_csa_job_apply = {0, "Job: Applying.", 0, PSI_DOCUMENT_ME} |
Stage for CSA job apply.
| PSI_stage_info mysql::csa::stage_csa_job_attach |
Stage for CSA job attach.
| PSI_stage_info mysql::csa::stage_csa_job_detach |
Stage for CSA job detach.
| PSI_stage_info mysql::csa::stage_csa_sched_check_dependencies |
Stage for CSA scheduler check dependencies.
| PSI_stage_info mysql::csa::stage_csa_sched_check_stage_queues |
Stage for CSA scheduler check stage queues.
| PSI_stage_info mysql::csa::stage_csa_sched_enqueue_ready_tasks |
Stage for CSA scheduler enqueue ready tasks.
| PSI_stage_info mysql::csa::stage_csa_sched_stopped |
Stage for CSA scheduler stopped.
| PSI_stage_info mysql::csa::stage_csa_sched_stopping |
Stage for CSA scheduler stopping.
| PSI_stage_info mysql::csa::stage_csa_sched_sync_clock |
Stage for CSA scheduler sync clock.
| PSI_stage_info mysql::csa::stage_csa_sched_sync_limit |
Stage for CSA scheduler sync limit.
| PSI_stage_info mysql::csa::stage_csa_sched_wait_for_work |
Stage for CSA scheduler wait for work.
| PSI_stage_info mysql::csa::stage_csa_session_acquire |
Stage for CSA session acquire.
| PSI_stage_info mysql::csa::stage_csa_session_attached |
| PSI_stage_info mysql::csa::stage_csa_session_detached |
Stage for CSA session detached.
| PSI_stage_info mysql::csa::stage_csa_session_release |
Stage for CSA session release.
| PSI_stage_info mysql::csa::stage_csa_starting |
Stage for CSA starting.
| PSI_stage_info mysql::csa::stage_csa_stopped |
Stage for CSA stopped.
| PSI_stage_info mysql::csa::stage_csa_stopping |
Stage for CSA stopping.
| PSI_stage_info mysql::csa::stage_csa_thp_worker_exec |
Stage for CSA THP worker exec.
| PSI_stage_info mysql::csa::stage_csa_thp_worker_stop |
Stage for CSA THP worker stop.
| PSI_stage_info mysql::csa::stage_csa_thp_worker_wait |
Stage for CSA THP worker wait.
| PSI_stage_info mysql::csa::stage_csa_update_statistics |
Stage for CSA update statistics.
| PSI_stage_info mysql::csa::stage_csa_wait_for_trx |
Stage for CSA wait for transaction.
| PSI_stage_info mysql::csa::stage_csa_working |
Stage for CSA working.