Group commit manager. More...
#include <GroupCommit.h>
Public Member Functions | |
GroupCommit (Apps::RangeServer *range_server) | |
Constructor. More... | |
virtual void | add (EventPtr &event, uint64_t cluster_id, SchemaPtr &schema, const TableIdentifier &table, uint32_t count, StaticBuffer &buffer, uint32_t flags) |
Adds a batch of updates to the group commit queue. More... | |
virtual void | trigger () |
Processes queued updates that are ready to be committed. More... | |
Private Attributes | |
std::mutex | m_mutex |
Mutex to serialize concurrent access More... | |
Apps::RangeServer * | m_range_server |
Pointer to RangeServer. More... | |
uint32_t | m_commit_interval {} |
Cached copy of Hypertable.RangeServer.CommitInterval property. More... | |
int | m_counter {} |
Trigger iteration counter. More... | |
FlyweightString | m_flyweight_strings |
String cache for holding table IDs More... | |
std::map< ClusterTableIdPair, UpdateRecTable *, lt_ctip > | m_table_map |
Group commit manager.
Definition at line 59 of file GroupCommit.h.
GroupCommit::GroupCommit | ( | Apps::RangeServer * | range_server | ) |
Constructor.
Initializes m_commit_interval to value of Hypertable.RangeServer.CommitInterval
property.
range_server | Pointer to RangeServer object |
Definition at line 34 of file GroupCommit.cc.
|
virtual |
Adds a batch of updates to the group commit queue.
Implements Hypertable::GroupCommitInterface.
Definition at line 42 of file GroupCommit.cc.
|
virtual |
Processes queued updates that are ready to be committed.
Implements Hypertable::GroupCommitInterface.
Definition at line 81 of file GroupCommit.cc.
|
private |
Cached copy of Hypertable.RangeServer.CommitInterval
property.
Definition at line 80 of file GroupCommit.h.
|
private |
Trigger iteration counter.
Definition at line 82 of file GroupCommit.h.
|
private |
String cache for holding table IDs
Definition at line 84 of file GroupCommit.h.
|
private |
Mutex to serialize concurrent access
Definition at line 75 of file GroupCommit.h.
|
private |
Pointer to RangeServer.
Definition at line 77 of file GroupCommit.h.
|
private |
Definition at line 86 of file GroupCommit.h.