27 #ifndef Hypertable_RangeServer_AccessGroup_h
28 #define Hypertable_RangeServer_AccessGroup_h
46 #include <boost/thread/condition.hpp>
48 #include <condition_variable>
137 const Hints *hints=
nullptr);
209 void shrink(
String &split_row,
bool drop_high, Hints *hints);
259 size_t index, length;
262 end_merge = (index + length) ==
m_stores.size();
311 #endif // Hypertable_RangeServer_AccessGroup_h
MaintenanceData * get_maintenance_data(ByteArena &arena, time_t now, int flags)
void update_cellstore_info(std::vector< CellStoreInfo > &stores, time_t t=0, bool collection_performed=true)
Updates stored data statistics from current set of CellStores.
std::set< uint8_t > m_column_families
void pre_load_cellstores()
float m_compression_ratio
int64_t earliest_cached_revision
Cell list scanner over a buffer of cells.
void set_next_csid(uint32_t nid)
void get_file_data(String &file_list, int64_t *block_countp, bool include_blocked)
Abstract base class for persistent cell lists (ones that are stored on disk).
int16_t maintenance_flags
Declarations for MergeScannerAccessGroup.
PageArena memory allocator.
std::string String
A String is simply a typedef to std::string.
void measure_garbage(double *total, double *garbage)
Tracks access group garbage and signals when collection is needed.
std::mutex m_outstanding_scanner_mutex
int32_t m_outstanding_scanner_count
uint64_t shadow_cache_memory
int64_t latest_stored_revision
Declarations for TableIdentifier and TableIdentifierManaged.
void update_schema(SchemaPtr &schema, AccessGroupSpec *ag_spec)
Currently supports only adding and deleting column families from AccessGroup.
uint32_t shadow_cache_hits
CellStoreMaintenanceData * csdata
void post_load_cellstores()
Maps object pointers to bit fields.
int16_t maintenance_flags
void load_hints(Hints *hints)
int32_t outstanding_scanners
Scan context information.
bool operator==(const Hints &other) const
std::mutex m_schema_mutex
bool include_in_scan(ScanContext *scan_ctx)
void sort_cellstores_by_timestamp()
int64_t m_latest_stored_revision_hint
int64_t latest_stored_revision
void split_row_estimate_data_stored(CellList::SplitRowDataMapT &split_row_data)
static const int64_t TIMESTAMP_MIN
void run_compaction(int maintenance_flags, Hints *hints)
A class managing one or more serializable ByteStrings.
CellStoreMaintenanceData * next
Wrapper for TableIdentifier providing member storage.
Declarations for CellStore.
void get_merge_info(bool &needs_merging, bool &end_merge)
Gets merging compaction information.
int64_t m_earliest_cached_revision
int64_t m_latest_stored_revision
Tracks files that are live or referenced for purposes of maintaining the 'Files' METADATA column...
void merge_caches()
Assumes mutex is locked.
void get_file_data(String &file_list, int64_t *block_countp, bool include_blocked)
Returns ' ' separated list of files, suitable for writing into the 'Files' column of METADATA...
void set_next_csid(uint32_t nid)
std::map< const char *, int64_t, LtCstr, SplitRowDataAlloc > SplitRowDataMapT
std::condition_variable m_outstanding_scanner_cond
void split_row_estimate_data_cached(CellList::SplitRowDataMapT &split_row_data)
void recovery_initialize()
std::shared_ptr< Properties > PropertiesPtr
void shrink(String &split_row, bool drop_high, Hints *hints)
CellStore::IndexMemoryStats index_stats
void populate_cellstore_index_pseudo_table_scanner(CellListScannerBuffer *scanner)
Populates scanner with data for .cellstore.index pseudo table.
std::ostream & operator<<(std::ostream &os, const crontab_entry &entry)
Helper function to write crontab_entry to an ostream.
uint32_t bloom_filter_accesses
std::shared_ptr< AccessGroup > AccessGroupPtr
void dump_garbage_tracker_statistics(std::ofstream &out)
Prints human-readable representation of garbage tracker state to an output stream.
void space_usage(int64_t *memp, int64_t *diskp)
uint32_t bloom_filter_fps
void add(const Key &key, const ByteString value)
Adds a key/value pair.
void purge_stored_cells_from_cache()
Declarations for RangeSpec and RangeSpecManaged.
Access group specification.
std::shared_ptr< CellStore > CellStorePtr
Smart pointer to CellStore.
CellCacheManagerPtr m_cell_cache_manager
static const int64_t TIMESTAMP_MAX
LiveFileTracker m_file_tracker
AccessGroupGarbageTracker m_garbage_tracker
const char * get_full_name()
uint64_t shadow_cache_size
bool m_cellcache_needs_compaction
Provides access to internal components of opaque key.
uint64_t bloom_filter_memory
uint32_t bloom_filter_maybes
std::vector< CellStoreInfo > m_stores
PropertiesPtr m_cellstore_props
void unstage_compaction()
void recompute_compression_ratio(int64_t *total_index_entriesp=0)
A String class based on std::string.
Declarations for CellCacheManager.
TableIdentifierManaged m_identifier
void range_dir_initialize()
std::shared_ptr< Schema > SchemaPtr
Smart pointer to Schema.
AccessGroup(const TableIdentifier *identifier, SchemaPtr &schema, AccessGroupSpec *ag_spec, const RangeSpec *range, const Hints *hints=nullptr)
bool find_merge_run(size_t *indexp=0, size_t *lenp=0)
MergeScannerAccessGroup * create_scanner(ScanContext *scan_ctx)
Declarations for MaintenanceFlag This file contains declarations that are part of the MaintenanceFlag...
void dump_keys(std::ofstream &out)
void release_files(const std::vector< String > &files)
std::shared_ptr< CellCacheManager > CellCacheManagerPtr
Smart pointer to CellCacheManager.
String extensions and helpers: sets, maps, append operators etc.
uint64_t block_index_memory
int64_t m_earliest_cached_revision_saved
uint64_t purge_memory(MaintenanceFlag::Map &subtask_map)
void load_cellstore(CellStorePtr &cellstore)
Declarations for AccessGroupGarbageTracker.
Merge scanner for access groups.