28 #ifndef Hypertable_RangeServer_CellStoreV7_h
29 #define Hypertable_RangeServer_CellStoreV7_h
88 const String &end_row, int32_t fd, int64_t file_length,
118 std::lock_guard<std::mutex> lock(
m_mutex);
123 std::lock_guard<std::mutex> lock(
m_mutex);
128 std::lock_guard<std::mutex> lock(
m_mutex);
137 std::lock_guard<std::mutex> lock(
m_mutex);
142 std::lock_guard<std::mutex> lock(
m_mutex);
207 #endif // Hypertable_RangeServer_CellStoreV7_h
int64_t get_total_entries() override
Returns the number of key/value pairs in the cell store.
Abstract base class for cell store trailer.
uint32_t m_outstanding_appends
virtual void close(int fd, DispatchHandler *handler)=0
Closes a file asynchronously.
Cell list scanner over a buffer of cells.
CellStoreTrailerV7 m_trailer
Abstract base class for persistent cell lists (ones that are stored on disk).
int32_t reopen_fd() override
Closes and reopens the underlying CellStore file.
std::string String
A String is simply a typedef to std::string.
float m_uncompressed_data
CellStoreV7(Filesystem *filesys)
void display_block_info() override
Displays block information to stdout.
A space-efficent probabilistic set for membership test, false postives are possible, but false negatives are not.
int get_file_id() override
Returns a unique identifier which identifies the underlying file for caching purposes.
std::shared_ptr< KeyCompressor > KeyCompressorPtr
uint16_t block_header_format() override
int64_t get_blocksize() override
Returns the block size used for this cell store.
DynamicBuffer & variable_buf()
BlockCompressionCodec * m_compressor
int64_t end_of_last_block() override
Returns the offset of the end of the last block in the cell store.
bool m_replaced_files_loaded
BloomFilterMode m_bloom_filter_mode
float m_filter_false_positive_prob
int32_t get_fd() override
Returns the open file descriptor for the CellStore file.
BlobHashSet BloomFilterItems
BlockCompressionCodec * create_block_compression_codec() override
Creates a block compression codec suitable for decompressing the cell store's blocks.
Scan context information.
const std::vector< String > & get_replaced_files() override
Returns all the cell store files replaced by this CellStore.
Declarations for BlockCompressionCodec.
KeyDecompressor * create_key_decompressor() override
Creates a key decompressor suitable for decompressing the keys stored in this cell store...
A dynamic, resizable and reference counted memory buffer.
std::vector< String > Args
Compression codec argument vector.
A class managing one or more serializable ByteStrings.
Declarations for CellStore.
IndexMemoryStats m_index_stats
CellStoreBlockIndexArray< uint32_t > m_index_map32
32-bit block index
std::map< const char *, int64_t, LtCstr, SplitRowDataAlloc > SplitRowDataMapT
A dynamic, resizable memory buffer.
int64_t m_uncompressed_blocksize
int64_t block_index_memory_used() override
Returns the amount of memory consumed by the block index.
void create(const char *fname, size_t max_entries, PropertiesPtr &props, const TableIdentifier *table_id=0) override
Creates a new cell store.
DispatchHandlerSynchronizer m_sync_handler
std::shared_ptr< Properties > PropertiesPtr
BloomFilterMode
Enumeration for bloom filter modes.
bool may_contain(ScanContext *scan_ctx) override
Bloom filter lookup.
int64_t block_index_memory
size_t bloom_filter_size() override
Return Bloom filter size.
std::string & get_filename() override
Pathname of cell store file.
bool restricted_range() override
Returns true if the cellstore was opened with a restricted range.
CellStoreBlockIndexArray< int64_t > m_index_map64
64-bit block index
A HashSet optimized for blobs.
void finalize(TableIdentifier *table_identifier) override
Finalizes the creation of a cell store, by writing block index and metadata trailer.
BloomFilterItems * m_bloom_filter_items
size_t size()
Getter for the bloom filter size.
void add(const Key &key, const ByteString value) override
Inserts a key/value pair into the cell list.
float compression_ratio() override
Returns block compression ratio of this cell store.
DispatchHandler class used to synchronize with response messages.
A HashSet for storing and looking up blobs efficiently.
Represents the trailer for CellStore version 7.
Abstract base class for server protocol drivers.
uint64_t purge_indexes() override
Purges bloom filter and block indexes.
Provides access to internal components of opaque key.
void open(const String &fname, const String &start_row, const String &end_row, int32_t fd, int64_t file_length, CellStoreTrailer *trailer) override
Opens a cell store with possibly a restricted view.
int64_t m_max_approx_items
BlockCompressionCodec::Args m_compressor_args
CellStoreTrailer * get_trailer() override
Return a pointer to the trailer object for this cell store.
void split_row_estimate_data(SplitRowDataMapT &split_row_data) override
Populates split_row_data with unique row and count estimates from block index.
void create_bloom_filter(bool is_approx=false)
int64_t bloom_filter_memory_used() override
Returns the amount of memory consumed by the bloom filter.
Declarations for CellStoreTrailerV7.
float m_bloom_bits_per_item
uint8_t * release(size_t *lenp=0)
Moves ownership of the buffer to the caller.
std::shared_ptr< Schema > SchemaPtr
Smart pointer to Schema.
std::shared_ptr< CellListScanner > CellListScannerPtr
virtual void open(const String &name, uint32_t flags, DispatchHandler *handler)=0
Opens a file asynchronously.
KeyCompressorPtr m_key_compressor
void populate_index_pseudo_table_scanner(CellListScannerBuffer *scanner) override
Populates scanner with key/value pairs generated from CellStore index.
A Bloom Filter with Checksums.
int64_t bloom_filter_memory
void load_replaced_files()
IndexBuilder m_index_builder
uint64_t disk_usage() override
Returns the disk used by this cell store.
BloomFilterWithChecksum * m_bloom_filter
Bloom filter.
CellListScannerPtr create_scanner(ScanContext *scan_ctx) override
Creates a scanner on this cell list.
DynamicBuffer & fixed_buf()
Declarations for DispatchHandlerSynchronizer.
Abstract base class for block compression codecs.
Abstract base class for a filesystem.
Declarations for CellStoreBlockIndexArray.
void add_entry(KeyCompressorPtr &key_compressor, int64_t offset)
void rescope(const String &start_row, const String &end_row) override