24#ifndef CERTIFICATION_HANDLER_INCLUDE
25#define CERTIFICATION_HANDLER_INCLUDE
68 std::list<std::unique_ptr<View_change_stored_info>>
Definition: certification_handler.h:32
Pipeline_event * transaction_context_pevent
Definition: certification_handler.h:53
int get_role() override
This method returns the handler role.
Definition: certification_handler.cc:922
int handle_recovery_metadata(Pipeline_event *pevent, Continuation *cont)
This method saves the recovery metadata.
Definition: certification_handler.cc:170
int handle_view_change_packet_without_vcle(Pipeline_event *pevent, Continuation *cont)
If VC is delayed this method pushes the metadata for later processing else it processes the VC Packet...
Definition: certification_handler.cc:248
~Certification_handler() override
Definition: certification_handler.cc:46
Certification_handler()
Definition: certification_handler.cc:39
binlog::BgcTicket::ValueType increment_bgc_ticket()
Increment a commit order ticket for the View_change transaction.
Definition: certification_handler.cc:907
Certifier * cert_module
Definition: certification_handler.h:46
int handle_binary_log_event(Pipeline_event *pevent, Continuation *cont)
This method handles binary log events by storing them so they can be used on next handler.
Definition: certification_handler.cc:130
int handle_transaction_id(Pipeline_event *pevent, Continuation *cont)
This methods handles transaction identifier events, it does two tasks:
Definition: certification_handler.cc:446
std::list< std::unique_ptr< View_change_stored_info > > pending_view_change_events_waiting_for_consistent_transactions
All the VC events pending application due to consistent transactions.
Definition: certification_handler.h:69
void reset_transaction_context()
Reset transaction context.
Definition: certification_handler.cc:354
int handle_applier_event(Pipeline_event *pevent, Continuation *cont)
This method handles applier context events by storing them so they can be used on next handler.
Definition: certification_handler.cc:149
binlog::BgcTicket::ValueType generate_view_change_bgc_ticket()
Generate a commit order ticket for the View_change transaction.
Definition: certification_handler.cc:887
THD * applier_module_thd
Definition: certification_handler.h:48
int terminate() override
Terminate the execution as defined in the handler implementation.
Definition: certification_handler.cc:59
int get_transaction_context(Pipeline_event *pevent, Transaction_context_log_event **tcle)
Get transaction context set on previous event handler.
Definition: certification_handler.cc:315
int handle_event(Pipeline_event *ev, Continuation *cont) override
Handling of an event as defined in the handler implementation.
Definition: certification_handler.cc:112
int initialize() override
Initialization as defined in the handler implementation.
Definition: certification_handler.cc:52
Certifier_interface * get_certifier()
Definition: certification_handler.cc:924
int handle_transaction_context(Pipeline_event *pevent, Continuation *cont)
This method handles transaction context events by storing them so they can be used on next handler.
Definition: certification_handler.cc:376
int handle_action(Pipeline_action *action) override
Handling of an action as defined in the handler implementation.
Definition: certification_handler.cc:70
int log_view_change_event_in_order(Pipeline_event *view_pevent, Continuation *cont)
Try to log a view change event waiting for local certified transactions to finish.
Definition: certification_handler.cc:816
Data_packet * transaction_context_packet
Definition: certification_handler.h:52
int handle_applier_view_change_packet(Pipeline_event *pevent, Continuation *cont)
This method handles applier view change packet.
Definition: certification_handler.cc:162
bool is_unique() override
This method identifies the handler as being unique.
Definition: certification_handler.cc:920
rpl_sidno group_sidno
Definition: certification_handler.h:50
int set_transaction_context(Pipeline_event *pevent)
Set transaction context for next event handler.
Definition: certification_handler.cc:282
int inject_transactional_events(Pipeline_event *pevent, Gtid gtid, binlog::BgcTicket::ValueType bgc_ticket, Continuation *cont)
Create a transactional block for the received log event GTID BEGIN EVENT COMMIT.
Definition: certification_handler.cc:709
int extract_certification_info(Pipeline_event *pevent, Continuation *cont)
Definition: certification_handler.cc:666
Definition: certifier.h:194
Definition: certifier.h:219
Class used to wait on the execution of some action.
Definition: pipeline_interfaces.h:536
A wrapper for raw network packets.
Definition: pipeline_interfaces.h:76
Interface for the application of events, them being packets or log events.
Definition: pipeline_interfaces.h:663
A wrapper for pipeline actions.
Definition: pipeline_interfaces.h:633
A wrapper for log events/packets.
Definition: pipeline_interfaces.h:167
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:36
This is the subclass of Transaction_context_event and Log_event This class encodes the transaction_co...
Definition: log_event.h:4345
std::uint64_t ValueType
Definition: bgc_ticket.h:56
repeated Action action
Definition: replication_group_member_actions.proto:43
cs::index::rpl_sidno rpl_sidno
Type of SIDNO (source ID number, first component of GTID)
Definition: rpl_gtid.h:109
View change information information stored for delay.
Definition: certification_handler.h:56
View_change_stored_info(Pipeline_event *vc_pevent, Gtid gtid, binlog::BgcTicket::ValueType bgc_ticket)
Definition: certification_handler.h:60
Pipeline_event * view_change_pevent
Definition: certification_handler.h:57
binlog::BgcTicket::ValueType bgc_ticket
Definition: certification_handler.h:59
Gtid view_change_gtid
Definition: certification_handler.h:58
TODO: Move this structure to mysql/binlog/event/control_events.h when we start using C++11.
Definition: rpl_gtid.h:1101