Blocks range server registration. More...
#include <OperationRegisterServerBlocker.h>
Public Member Functions | |
OperationRegisterServerBlocker (ContextPtr &context, const String &location) | |
Constructor. More... | |
virtual | ~OperationRegisterServerBlocker () |
Destructor. More... | |
virtual void | execute () |
Carries out a range server recovery operation. More... | |
virtual const String | name () |
Returns name of operation ("OperationRegisterServerBlocker") More... | |
virtual const String | label () |
Returns descriptive label for operation. More... | |
virtual void | display_state (std::ostream &os) |
Write human readable operation state to output stream. More... | |
Public Member Functions inherited from Hypertable::OperationEphemeral | |
OperationEphemeral (ContextPtr &context, int32_t type) | |
Constructor with operation type specifier. More... | |
OperationEphemeral (ContextPtr &context, EventPtr &event, int32_t type) | |
Constructor with request Event and operation type specifier. More... | |
OperationEphemeral (ContextPtr &context, const MetaLog::EntityHeader &header_) | |
Constructor with MetaLog::EntityHeader. More... | |
virtual | ~OperationEphemeral () |
Destructor. More... | |
size_t | encoded_length_state () const override |
Encoded length of operation state. More... | |
void | encode_state (uint8_t **bufp) const override |
Encode operation state. More... | |
void | decode_state (uint8_t version, const uint8_t **bufp, size_t *remainp) override |
Decode operation state. More... | |
void | decode_state_old (uint8_t version, const uint8_t **bufp, size_t *remainp) override |
Decode operation state. More... | |
uint8_t | encoding_version_state () const override |
Returns version of encoding format. More... | |
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 | |
String | m_location |
Server proxy name. 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... | |
Blocks range server registration.
An object of this class is created and added to the OperationProcessor when a RangeServer acquires the lock on its lock file in Hyperspace. It exists soley to prevent server registration from occurring until after the lock released event for the server has been delivered from Hyperspace.
Definition at line 48 of file OperationRegisterServerBlocker.h.
OperationRegisterServerBlocker::OperationRegisterServerBlocker | ( | ContextPtr & | context, |
const String & | location | ||
) |
Constructor.
Initializes object by passing parameters to parent constructor, setting m_location to location
, and creating a single obstruction "RegisterServerBlocker <location>".
context | Master context |
location | Server proxy name |
Definition at line 39 of file OperationRegisterServerBlocker.cc.
|
inlinevirtual |
Destructor.
Definition at line 61 of file OperationRegisterServerBlocker.h.
|
inlinevirtual |
Write human readable operation state to output stream.
This method is called by display() to write a human readable string representation of the operation state to os
os | Output stream to which state string is to be written |
Implements Hypertable::Operation.
Definition at line 94 of file OperationRegisterServerBlocker.h.
|
virtual |
Carries out a range server recovery operation.
This method carries out the operation via the following states:
State | Description |
---|---|
INITIAL |
|
STARTED |
|
Implements Hypertable::Operation.
Definition at line 46 of file OperationRegisterServerBlocker.cc.
|
virtual |
Returns descriptive label for operation.
Implements Hypertable::Operation.
Definition at line 75 of file OperationRegisterServerBlocker.cc.
|
virtual |
Returns name of operation ("OperationRegisterServerBlocker")
Implements Hypertable::Operation.
Definition at line 71 of file OperationRegisterServerBlocker.cc.
|
private |
Server proxy name.
Definition at line 98 of file OperationRegisterServerBlocker.h.