Public Member Functions | |
| bool | init () |
| bool | process () |
| void | shutdown () |
| void | setSleepInterval (uint32_t seconds) |
| uint32_t | getSleepInterval () |
| void | setIgnoreErrors (bool value) |
| void | setApplierState (const std::string &err_msg, bool status) |
| void | addMasterId (uint32_t id) |
| bool | processSingleMaster (const std::string &master_id) |
| void | run (void) |
| void | markInErrorState () |
| void | clearErrorState () |
| const std::string & | getErrorMessage () const |
| bool | executeSQL (std::vector< std::string > &sql) |
Protected Attributes | |
| drizzled::Session::shared_ptr | _session |
Private Types | |
| typedef std::vector< uint64_t > | TrxIdList |
Private Member Functions | |
| bool | getListOfCompletedTransactions (const std::string &master_id, TrxIdList &list) |
| bool | getMessage (drizzled::message::Transaction &transaction, std::string &commit_id, const std::string &master_id, uint64_t trx_id, std::string &originating_server_uuid, uint64_t &originating_commit_id, uint32_t segment_id) |
| bool | convertToSQL (const drizzled::message::Transaction &transaction, std::vector< std::string > &aggregate_sql, std::vector< std::string > &segmented_sql) |
| bool | executeSQLWithCommitId (std::vector< std::string > &sql, const std::string &commit_id, const std::string &originating_server_uuid, uint64_t originating_commit_id, const std::string &master_id) |
| bool | deleteFromQueue (const std::string &master_id, uint64_t trx_id) |
| bool | isEndStatement (const drizzled::message::Statement &statement) |
Private Attributes | |
| uint32_t | _check_interval |
| std::vector< uint32_t > | _master_ids |
| bool | _ignore_errors |
Definition at line 39 of file queue_consumer.h.
| bool slave::QueueConsumer::convertToSQL | ( | const drizzled::message::Transaction & | transaction, |
| std::vector< std::string > & | aggregate_sql, | ||
| std::vector< std::string > & | segmented_sql | ||
| ) | [private] |
Convert the given Transaction message into equivalent SQL.
| [in] | transaction | Transaction protobuf message to convert. |
| [in,out] | aggregate_sql | Buffer for total SQL for this transaction. |
| [in,out] | segmented_sql | Buffer for carried over segmented statements. |
| true | Success |
| false | Failure |
Definition at line 264 of file queue_consumer.cc.
| bool slave::QueueConsumer::deleteFromQueue | ( | const std::string & | master_id, |
| uint64_t | trx_id | ||
| ) | [private] |
Remove messages for a given transaction from the queue.
| trx_id | Transaction ID for the messages to remove. |
| true | Success |
| false | Failure |
Definition at line 447 of file queue_consumer.cc.
| bool slave::SQLExecutor::executeSQL | ( | std::vector< std::string > & | sql | ) | [inherited] |
Execute a batch of SQL statements.
| sql | Batch of SQL statements to execute. |
| true | Success |
| false | Failure |
Definition at line 49 of file sql_executor.cc.
| bool slave::QueueConsumer::executeSQLWithCommitId | ( | std::vector< std::string > & | sql, |
| const std::string & | commit_id, | ||
| const std::string & | originating_server_uuid, | ||
| uint64_t | originating_commit_id, | ||
| const std::string & | master_id | ||
| ) | [private] |
Execute a batch of SQL statements.
| sql | Batch of SQL statements to execute. |
| commit_id | Commit ID value to store in state table. |
| originating_server_uuid | Server ID of the master where this SQL was originally applied. |
| originating_commit_id | Commit ID of the master where this SQL was originally applied. |
| true | Success |
| false | Failure |
Definition at line 421 of file queue_consumer.cc.
| bool slave::QueueConsumer::getListOfCompletedTransactions | ( | const std::string & | master_id, |
| TrxIdList & | list | ||
| ) | [private] |
Get a list of transaction IDs from the queue that are complete.
A "complete" transaction is one in which we have received the end segment of the transaction.
| [in] | master_id | Identifier of the master we are interested in. |
| [out] | list | The list to populate with transaction IDs. |
| true | Success |
| false | Error |
Definition at line 230 of file queue_consumer.cc.
| bool slave::QueueConsumer::init | ( | void | ) | [virtual] |
Do any initialization work.
| true | Success |
| false | Failure |
Reimplemented from slave::QueueThread.
Definition at line 40 of file queue_consumer.cc.
| bool slave::QueueConsumer::isEndStatement | ( | const drizzled::message::Statement & | statement | ) | [private] |
Determine if a Statement message is an end message.
Definition at line 341 of file queue_consumer.cc.
| bool slave::QueueConsumer::process | ( | ) | [virtual] |
Method that actually does the work around the queue.
Returning 'false' from this method currently causes the thread to shutdown.
| true | Success |
| false | Failure |
Implements slave::QueueThread.
Definition at line 53 of file queue_consumer.cc.
| void slave::QueueConsumer::setApplierState | ( | const std::string & | err_msg, |
| bool | status | ||
| ) |
Update applier status in state table.
| err_msg | Error message string |
| status | false = STOPPED, true = RUNNING |
Definition at line 380 of file queue_consumer.cc.
| void slave::QueueConsumer::setIgnoreErrors | ( | bool | value | ) | [inline] |
Determines if we should ignore errors from statements pulled from masters.
Definition at line 66 of file queue_consumer.h.
| void slave::QueueConsumer::shutdown | ( | ) | [virtual] |
Work to do at thread shutdown time.
Reimplemented from slave::QueueThread.
Definition at line 47 of file queue_consumer.cc.
uint32_t slave::QueueConsumer::_check_interval [private] |
Number of seconds to sleep between checking queue for messages
Definition at line 90 of file queue_consumer.h.