Enables or disables maintenance for a table. More...
#include <OperationToggleTableMaintenance.h>


Public Member Functions | |
| OperationToggleTableMaintenance (ContextPtr &context, const std::string &table_name, bool toggle_on) | |
| Constructor. More... | |
| OperationToggleTableMaintenance (ContextPtr &context, const MetaLog::EntityHeader &header) | |
| Constructor with MML entity. More... | |
| virtual | ~OperationToggleTableMaintenance () |
| Destructor. More... | |
| void | execute () override |
| Carries out a toggle maintenance operation. More... | |
| const String | name () override |
| Returns name of operation ("OperationToggleTableMaintenance") More... | |
| const String | label () override |
| Returns descriptive label for operation. More... | |
| void | display_state (std::ostream &os) override |
| Writes human readable representation of object to output stream. More... | |
| uint8_t | encoding_version_state () const override |
| Returns version of encoding format of state. More... | |
| size_t | encoded_length_state () const override |
| Returns serialized state length. More... | |
| void | encode_state (uint8_t **bufp) const override |
| Writes serialized encoding of object state. More... | |
| void | decode_state (uint8_t version, const uint8_t **bufp, size_t *remainp) override |
| Reads serialized encoding of object state. More... | |
| void | decode_state_old (uint8_t version, const uint8_t **bufp, size_t *remainp) override |
Public Member Functions inherited from Hypertable::Operation | |
| Operation (ContextPtr &context, int32_t type) | |
| Constructor with operation type specifier. More... | |
| Operation (ContextPtr &context, EventPtr &event, int32_t type) | |
| Constructor with request Event and operation type specifier. More... | |
| Operation (ContextPtr &context, const MetaLog::EntityHeader &header_) | |
| Constructor with MetaLog::EntityHeader. More... | |
| virtual | ~Operation () |
| Destructor. More... | |
| virtual const String | graphviz_label () |
| Human readable operation label used in graphviz output. More... | |
| virtual bool | exclusive () |
| Indicates if operation is exclusive. More... | |
| virtual size_t | encoded_result_length () const |
| Length of encoded operation result. More... | |
| virtual void | encode_result (uint8_t **bufp) const |
| Encode operation result. More... | |
| virtual void | decode_result (const uint8_t **bufp, size_t *remainp) |
| Decode operation result. More... | |
| void | decode (const uint8_t **bufp, size_t *remainp, uint16_t definition_version) override |
| Decode operation. More... | |
| void | display (std::ostream &os) override |
| Write human readable string represenation of operation to output stream. More... | |
| int64_t | id () |
| Operation identifier. More... | |
| ClockT::time_point | expiration_time () |
| Returns operation expiration time. More... | |
| void | set_remove_approval_mask (uint16_t mask) |
| Sets the remove approvals bit mask. More... | |
| uint16_t | get_remove_approval_mask () |
| Gets the remove approvals bit mask. More... | |
| bool | remove_approval_add (uint16_t approval) |
| Sets remove approval bits. More... | |
| bool | removal_approved () |
| Checks if all remove approvals have been received. More... | |
| void | record_state (std::vector< MetaLog::EntityPtr > &additional) |
| Records operation state and additional entities to the MML. More... | |
| void | record_state () |
| Records operation state to the MML. More... | |
| void | complete_error (int error, const String &msg, std::vector< MetaLog::EntityPtr > &additional) |
| Completes operation with error. More... | |
| void | complete_error (int error, const String &msg, MetaLog::EntityPtr additional=MetaLog::EntityPtr()) |
| Completes operation with error. More... | |
| void | complete_error (Exception &e, std::vector< MetaLog::EntityPtr > &additional) |
| Completes operation with exception. More... | |
| void | complete_error (Exception &e, MetaLog::EntityPtr additional=MetaLog::EntityPtr()) |
| Completes operation with exception. More... | |
| void | complete_ok (std::vector< MetaLog::EntityPtr > &additional) |
| void | complete_ok (MetaLog::EntityPtr additional=MetaLog::EntityPtr()) |
| virtual int64_t | hash_code () const |
| virtual void | exclusivities (DependencySet &exclusivities) |
| virtual void | dependencies (DependencySet &dependencies) |
| virtual void | obstructions (DependencySet &obstructions) |
| void | add_exclusivity (const String &exclusivity) |
| void | add_dependency (const String &dependency) |
| void | add_obstruction (const String &obstruction) |
| void | add_obstruction_permanent (const String &obstruction) |
| void | fetch_sub_operations (std::vector< std::shared_ptr< Operation > > &sub_ops) |
| void | pre_run () |
| void | post_run () |
| int32_t | get_state () |
| void | set_state (int32_t state) |
| virtual bool | is_perpetual () |
| bool | block () |
| bool | unblock () |
| bool | is_blocked () |
| bool | is_complete () |
| int32_t | get_original_type () |
| void | set_original_type (int32_t original_type) |
| void | set_ephemeral () |
| Sets the ephemeral flag to true. More... | |
| bool | ephemeral () |
| Gets the ephemeral flag. More... | |
| int32_t | get_error () |
| Get error code. More... | |
| String | get_error_msg () |
| Get error message. More... | |
Public Member Functions inherited from Hypertable::MetaLog::Entity | |
| Entity (int32_t type) | |
| Constructor from entity type. More... | |
| Entity (const EntityHeader &header_) | |
| Constructor from entity header. More... | |
| virtual | ~Entity () |
| Destructor. More... | |
| void | lock () |
| Locks the entity's mutex. More... | |
| void | unlock () |
| Unlocks the entity's mutex. More... | |
| void | mark_for_removal () |
| Marks entity for removal. More... | |
| bool | marked_for_removal () |
| Checks if entity is marked for removal. More... | |
| int64_t | id () const |
| Returns the entity ID. More... | |
Public Member Functions inherited from Hypertable::Serializable | |
| virtual size_t | encoded_length () const |
| Returns serialized object length. More... | |
| virtual void | encode (uint8_t **bufp) const |
| Writes serialized representation of object to a buffer. More... | |
| virtual void | decode (const uint8_t **bufp, size_t *remainp) |
| Reads serialized representation of object from a buffer. More... | |
Private Attributes | |
| std::string | m_name |
| Table pathname More... | |
| std::string | m_id |
| Table ID More... | |
| std::set< std::string > | m_servers |
| Set of range servers participating in toggle. More... | |
| std::set< std::string > | m_completed |
| Set of range servers that have completed toggle. More... | |
| bool | m_toggle_on {} |
| Flag indicating if maintenance is to be toggled on or off. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from Hypertable::Operation | |
| uint8_t | encoding_version () const override |
| Returns encoding version. More... | |
| size_t | encoded_length_internal () const override |
| Returns internal serialized length. More... | |
| void | encode_internal (uint8_t **bufp) const override |
| Writes serialized representation of object to a buffer. More... | |
| void | decode_internal (uint8_t version, const uint8_t **bufp, size_t *remainp) override |
| Reads serialized representation of object from a buffer. More... | |
| void | decode_old (const uint8_t **bufp, size_t *remainp, uint16_t definition_version) |
| bool | validate_subops () |
| Handles the results of sub operations. More... | |
| void | stage_subop (std::shared_ptr< Operation > operation) |
| Stages a sub operation for execution. More... | |
Protected Member Functions inherited from Hypertable::MetaLog::Entity | |
| void | encode_entry (uint8_t **bufp) |
| Encodes entity header plus serialized state. More... | |
Protected Attributes inherited from Hypertable::Operation | |
| ContextPtr | m_context |
| Pointer to Master context. More... | |
| EventPtr | m_event |
| Pointer to client event (if any) that originated the operation. More... | |
| uint16_t | m_remove_approvals {} |
| Remove approvals received. More... | |
| uint16_t | m_remove_approval_mask {} |
| Remove approval mask. More... | |
| int32_t | m_original_type {} |
| Original entity type read from MML (prior to conversion) More... | |
| int32_t | m_error {} |
| Result error code. More... | |
| String | m_error_msg |
| Result error message. More... | |
| bool | m_unblock_on_exit {} |
| Flag to signal operation to be unblocked on exit (post_run()) More... | |
| bool | m_blocked {} |
| Flag indicating if operation is blocked. More... | |
| bool | m_ephemeral {} |
| Indicates if operation is ephemeral and does not get persisted to MML. More... | |
| ClockT::time_point | m_expiration_time |
| Expiration time (used by ResponseManager) More... | |
| int64_t | m_hash_code |
| Hash code uniqely identifying operation. More... | |
| DependencySet | m_exclusivities |
| Set of exclusivities. More... | |
| DependencySet | m_dependencies |
| Set of dependencies. More... | |
| DependencySet | m_obstructions |
| Set of obstructions. More... | |
| DependencySet | m_obstructions_permanent |
| Set of permanent obstructions. More... | |
| std::vector< int64_t > | m_sub_ops |
| Vector of sub operations IDs. More... | |
Protected Attributes inherited from Hypertable::MetaLog::Entity | |
| std::mutex | m_mutex |
| Mutex for serializing access to members More... | |
| EntityHeader | header |
| Entity header More... | |
Enables or disables maintenance for a table.
Definition at line 46 of file OperationToggleTableMaintenance.h.
| OperationToggleTableMaintenance::OperationToggleTableMaintenance | ( | ContextPtr & | context, |
| const std::string & | table_name, | ||
| bool | toggle_on | ||
| ) |
Constructor.
Initializes object by passing MetaLog::EntityType::OPERATION_TOGGLE_TABLE_MAINTENANCE to parent Operation constructor, sets m_name to canonicalized table_name, and adds INIT as a dependency.
| context | Master context |
| table_name | Table pathname |
| toggle_on | Flag indicating if maintenance is to be turned on or off |
Definition at line 53 of file OperationToggleTableMaintenance.cc.
| OperationToggleTableMaintenance::OperationToggleTableMaintenance | ( | ContextPtr & | context, |
| const MetaLog::EntityHeader & | header | ||
| ) |
Constructor with MML entity.
| context | Master context |
| header | MetaLog header |
Definition at line 62 of file OperationToggleTableMaintenance.cc.
|
inlinevirtual |
Destructor.
Definition at line 68 of file OperationToggleTableMaintenance.h.
|
overridevirtual |
Reads serialized encoding of object state.
This method restores the state of the object by decoding a serialized representation of the state from the memory location pointed to by *bufp.
| version | Encoding version |
| bufp | Address of source buffer pointer (advanced by call) |
| remainp | Amount of remaining buffer pointed to by *bufp (decremented by call) |
Implements Hypertable::Operation.
Definition at line 294 of file OperationToggleTableMaintenance.cc.
|
overridevirtual |
Implements Hypertable::Operation.
Definition at line 298 of file OperationToggleTableMaintenance.cc.
|
overridevirtual |
Writes human readable representation of object to output stream.
| os | Output stream |
Implements Hypertable::Operation.
Definition at line 261 of file OperationToggleTableMaintenance.cc.
|
overridevirtual |
Writes serialized encoding of object state.
This method writes a serialized encoding of object state to the memory location pointed to by *bufp. The encoding has the following format:
| Encoding | Description |
|---|---|
| vstr | Table name (m_name) |
| vstr | Table ID (m_id) |
| bool | Flag indicating if maintenance is to be enabled or disabled (m_toggle_on) |
| i32 | Size of m_servers |
| vstr | Foreach server in m_servers, server name |
| i32 | Size of m_completed |
| vstr | Foreach server in m_completed, server name |
| bufp | Address of destination buffer pointer (advanced by call) |
Implements Hypertable::Operation.
Definition at line 282 of file OperationToggleTableMaintenance.cc.
|
overridevirtual |
Returns serialized state length.
This method returns the length of the serialized representation of the object state.
Implements Hypertable::Operation.
Definition at line 270 of file OperationToggleTableMaintenance.cc.
|
overridevirtual |
Returns version of encoding format of state.
This is method returns the version of the encoding format of the state.
Implements Hypertable::Operation.
Definition at line 266 of file OperationToggleTableMaintenance.cc.
|
overridevirtual |
Carries out a toggle maintenance operation.
This method carries out the operation via the following states:
| State | Description |
|---|---|
| INITIAL | |
| UPDATE_HYPERSPACE |
|
| SCAN_METADATA |
|
| ISSUE_REQUESTS |
|
Implements Hypertable::Operation.
Definition at line 124 of file OperationToggleTableMaintenance.cc.
|
overridevirtual |
Returns descriptive label for operation.
Implements Hypertable::Operation.
Definition at line 314 of file OperationToggleTableMaintenance.cc.
|
overridevirtual |
Returns name of operation ("OperationToggleTableMaintenance")
Implements Hypertable::Operation.
Definition at line 310 of file OperationToggleTableMaintenance.cc.
|
private |
Set of range servers that have completed toggle.
Definition at line 153 of file OperationToggleTableMaintenance.h.
|
private |
Table ID
Definition at line 147 of file OperationToggleTableMaintenance.h.
|
private |
Table pathname
Definition at line 144 of file OperationToggleTableMaintenance.h.
|
private |
Set of range servers participating in toggle.
Definition at line 150 of file OperationToggleTableMaintenance.h.
|
private |
Flag indicating if maintenance is to be toggled on or off.
Definition at line 156 of file OperationToggleTableMaintenance.h.
1.8.8