23#ifndef CERTIFICATION_HANDLER_INCLUDE
24#define CERTIFICATION_HANDLER_INCLUDE
69 std::list<std::unique_ptr<View_change_stored_info>>
Definition: certification_handler.h:31
Pipeline_event * transaction_context_pevent
Definition: certification_handler.h:54
int get_role() override
This method returns the handler role.
Definition: certification_handler.cc:919
int handle_recovery_metadata(Pipeline_event *pevent, Continuation *cont)
This method saves the recovery metadata.
Definition: certification_handler.cc:169
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:247
~Certification_handler() override
Definition: certification_handler.cc:45
Certification_handler()
Definition: certification_handler.cc:38
binlog::BgcTicket::ValueType increment_bgc_ticket()
Increment a commit order ticket for the View_change transaction.
Definition: certification_handler.cc:904
Certifier * cert_module
Definition: certification_handler.h:47
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:129
int handle_transaction_id(Pipeline_event *pevent, Continuation *cont)
This methods handles transaction identifier events, it does two tasks:
Definition: certification_handler.cc:445
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:70
void reset_transaction_context()
Reset transaction context.
Definition: certification_handler.cc:353
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:148
binlog::BgcTicket::ValueType generate_view_change_bgc_ticket()
Generate a commit order ticket for the View_change transaction.
Definition: certification_handler.cc:884
THD * applier_module_thd
Definition: certification_handler.h:49
int terminate() override
Terminate the execution as defined in the handler implementation.
Definition: certification_handler.cc:58
int get_transaction_context(Pipeline_event *pevent, Transaction_context_log_event **tcle)
Get transaction context set on previous event handler.
Definition: certification_handler.cc:314
int handle_event(Pipeline_event *ev, Continuation *cont) override
Handling of an event as defined in the handler implementation.
Definition: certification_handler.cc:111
int set_certification_info(std::map< std::string, std::string > *cert_info)
int initialize() override
Initialization as defined in the handler implementation.
Definition: certification_handler.cc:51
Certifier_interface * get_certifier()
Definition: certification_handler.cc:921
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:375
int handle_action(Pipeline_action *action) override
Handling of an action as defined in the handler implementation.
Definition: certification_handler.cc:69
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:813
Data_packet * transaction_context_packet
Definition: certification_handler.h:53
int handle_applier_view_change_packet(Pipeline_event *pevent, Continuation *cont)
This method handles applier view change packet.
Definition: certification_handler.cc:161
bool is_unique() override
This method identifies the handler as being unique.
Definition: certification_handler.cc:917
rpl_sidno group_sidno
Definition: certification_handler.h:51
int set_transaction_context(Pipeline_event *pevent)
Set transaction context for next event handler.
Definition: certification_handler.cc:281
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:706
int extract_certification_info(Pipeline_event *pevent, Continuation *cont)
Definition: certification_handler.cc:663
Definition: certifier.h:192
Definition: certifier.h:218
Class used to wait on the execution of some action.
Definition: pipeline_interfaces.h:535
A wrapper for raw network packets.
Definition: pipeline_interfaces.h:75
Interface for the application of events, them being packets or log events.
Definition: pipeline_interfaces.h:660
A wrapper for pipeline actions.
Definition: pipeline_interfaces.h:630
A wrapper for log events/packets.
Definition: pipeline_interfaces.h:166
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:35
This is the subclass of Transaction_context_event and Log_event This class encodes the transaction_co...
Definition: log_event.h:4321
std::uint64_t ValueType
Definition: bgc_ticket.h:55
repeated Action action
Definition: replication_group_member_actions.proto:42
cs::index::rpl_sidno rpl_sidno
Type of SIDNO (source ID number, first component of GTID)
Definition: rpl_gtid.h:107
View change information information stored for delay.
Definition: certification_handler.h:57
View_change_stored_info(Pipeline_event *vc_pevent, Gtid gtid, binlog::BgcTicket::ValueType bgc_ticket)
Definition: certification_handler.h:61
Pipeline_event * view_change_pevent
Definition: certification_handler.h:58
binlog::BgcTicket::ValueType bgc_ticket
Definition: certification_handler.h:60
Gtid view_change_gtid
Definition: certification_handler.h:59
TODO: Move this structure to mysql/binlog/event/control_events.h when we start using C++11.
Definition: rpl_gtid.h:1099