Package org.apache.hadoop.hbase.regionserver
package org.apache.hadoop.hbase.regionserver
-
ClassDescriptionAn abstract class, which implements the behaviour shared by all concrete memstore instances.Base class for cell sink that separates the provided cells into multiple files.Adaptive is a heuristic that chooses whether to apply data compaction or not based on the level of redundancy in the data.Reads special method annotations and table names to figure a priority for use by QoS facility in ipc; e.g: rpcs to hbase:meta get priority.BaseRowProcessor<S extends com.google.protobuf.Message,
T extends com.google.protobuf.Message> Base class for RowProcessor with some default implementations.Basic strategy chooses between two actions: flattening a segment or merging indices of all segments in the pipeline.Manage the bootstrap node list at region server side.This Chore, every time it runs, will clear the unsused HFiles in the data folder.This class represents a split policy which makes the split decision based on how busy a region is.ByteBuffer based cell which has the chunkid at the 0th offsetCellArrayImmutableSegment extends the API supported by aSegment
, andImmutableSegment
.CellArrayMap is a simple array of Cells and cannot be allocated off-heap.CellChunkImmutableSegment extends the API supported by aSegment
, andImmutableSegment
.CellChunkMap is an array of serialized representations of Cell (pointing to Chunks with full Cell data) and can be allocated both off-heap and on-heap.CellFlatMap stores a constant number of elements and is immutable after creation stage.A sink of cells that allows appending cells to the Writers that implement it.If set of MapFile.Readers in Store change, implementors are notified.A chunk of memory out of which allocations are sliced.Does the management of memstoreLAB chunk creations.Types of chunks, based on their sizesEvent handler that handles the removal and archival of the compacted hfilesA chore service that periodically cleans up the compacted files when there are no active readers using those compacted files and also helps in clearing the block cache of these compacted file entries.A memstore implementation which supports in-memory compaction.Types of indexes (part of immutable segments) to be used after flattening, compaction, or merge are applied.The compaction pipeline of aCompactingMemStore
, is a FIFO queue of segments.Input format that uses store files block location as input split locality.Class responsible to execute the Compaction on the specified path.Compact region on request and then run split if appropriateThe CompositeImmutableSegments is created as a collection of ImmutableSegments and supports the interface of a single ImmutableSegments.ARegionSplitPolicy
implementation which splits a region as soon as any of its store files exceeds a maximum configurable size.CSLMImmutableSegment is an abstract class that extends the API supported by aSegment
, andImmutableSegment
.Helper class for CP hooks to change max versions and TTL.class for cell sink that separates the provided cells into multiple files for date tiered compaction.HBASE-15400 This store engine allows us to store data in date tiered layout with exponential sizing so that the more recent data has more granularity.The default implementation for the HeapMemoryTuner.The MemStore holds in-memory modifications to the Store.Default StoreEngine creates the default compactor, policy, and store file manager, or their derivatives.Default implementation of StoreFileManager.Default implementation of StoreFlusher.Deprecated.since 2.5.0 and will be removed in 4.0.0.ARegionSplitRestriction
implementation that groups rows by a prefix of the row-key with a delimiter.ARegionSplitPolicy
that disables region splits.Utility for doing JSON and MBeans.Abstraction that allows different modules in RegionServer to update/get the favored nodes information for regions.Factory to use when you want to use theFifoRpcScheduler
AFlushPolicy
that only flushes store larger a given threshold.AFlushPolicy
that always flushes all stores for a given region.AFlushPolicy
that only flushes store larger a given threshold.Used to track flush execution.AFlushPolicy
that only flushes store larger than a given threshold.A flush policy determines the stores that need to be flushed when flushing a region.The class that creates a flush policy from a conf and HTableDescriptor.Request a flush.Listener which will get notified regarding flush requests of regions.Reasons we flush.Manages tuning of Heap memory usingHeapMemoryTuner
.Every class that wants to observe heap memory tune actions must implement this interface.POJO to pass all the relevant information required to do the heap memory tuning.POJO which holds the result of memory tuning done by HeapMemoryTuner implementation.Makes the decision regarding proper sizing of the heap memory.The store implementation to save MOBs (medium objects), it extends the HStore.Regions store data for a certain region of a table.Class that tracks the progress of a batch operations, accumulating status codes and tracking the index at which processing is proceeding.Visitor interface for batch operationsListener class to enable callers of bulkLoadHFile() to perform any necessary pre/post processing of a given bulkload callObjects from this class are created when flushing to describe all the different states that that method ends up in.Batch of mutation operations.A class that tracks exceptions that have been observed in one batch.A result object from prepare flush cache stageBatch of mutations for replay.Class used to represent a lock on a row.View to an on-disk Region.HRegionServer makes a set of HRegions available to clients.Inner class that runs on a long period checking if regions need compaction.Force to terminate region server when abort timeout.Class responsible for parsing the command line and starting the RegionServer.A Wrapper for the region FileSystem operations adding WAL specific operationsA Store holds a column family in a Region.A Store data file.A MemStoreLAB implementation which wraps N MemStoreLABs.ImmutableSegment is an abstract class that extends the API supported by aSegment
, and is not needed for aMutableSegment
.Split size is the number of regions that are on this server that all are of the same table, cubed, times 2x the region flush size OR the maximum region split size, whichever is smaller.Computes the HDFSBlockDistribution for a file based on the underlying located blocks for an HdfsDataInputStream reading that file.Special scanner, currently used for increment operations to allow additional server-side arguments for Scan operations.Internal scanners differ from client-side scanners in that they operate on HStoreKeys and byte[] instead of RowResults.Deprecated.since 2.5.0 and will be removed in 4.0.0.ARegionSplitRestriction
implementation that groups rows by a prefix of the row-key.Implements a heap merge across any number of KeyValueScanners.Scanner that returns the next KeyValue.Last flushed sequence Ids for the regions and their stores on region serverReports a problem with a leaseLeaseListener is an interface meant to be implemented by users of the Leases class.Leases There are several server classes in HBase that need to track external clients that occasionally send heartbeats.This class tracks a single Lease.Thrown if we are asked to create a lease but lease on passed name already exists.Runs periodically to determine if the WAL should be rolled.Factory to use when you want to use theMasterFifoRpcScheduler
The MemStore holds in-memory modifications to the Store.MemStoreCompactionStrategy is the root of a class hierarchy which defines the strategy for choosing the next action to apply in an (in-memory) memstore compaction.Types of actions to be done on the pipeline upon MemStoreCompaction invocation.The ongoing MemStore Compaction manager, dispatches a solo running compaction and interrupts the compaction if requested.The MemStoreCompactorSegmentsIterator extends MemStoreSegmentsIterator and performs the scan for compaction operation meaning it is based on SQMThread that flushes cache on request NOTE: This class extends Thread rather than Chore because the sleep time can be interrupted when there is something to do, rather than the Chore sleep time which is invariant.Datastructure used in the flush queue.A memstore-local allocation buffer.A memstore-local allocation buffer.The MemStoreMergerSegmentsIterator extends MemStoreSegmentsIterator and performs the scan for simple merge operation meaning it is NOT based on SQMThe MemStoreSegmentsIterator is designed to perform one iteration over given list of segments For another iteration new instance of MemStoreSegmentsIterator needs to be created The iterator is not thread-safe and must have only one instance per MemStore in each period of timeData structure of three longs.Accounting of current heap and data sizes.MemStoreSnapshot
is a Context Object to hold details of the snapshot taken on a MemStore.This class is for maintaining the various regionserver's heap memory manager statistics and publishing them through the metrics interfaces.This interface will be implemented by a MetricsSource that will export metrics from HeapMemoryManager in RegionServer into the hadoop metrics system.Hadoop2 implementation of MetricsHeapMemoryManagerSource.This is the glue between the HRegion and whatever hadoop shim layer is loaded (hbase-hadoop1-compat or hbase-hadoop2-compat).This interface will be implemented by a MetricsSource that will export metrics from multiple regions into the hadoop metrics system.Maintains regionserver statistics and publishes them through the metrics interfaces.A collection of exposed metrics for space quotas from an HBase RegionServer.Implementation ofMetricsRegionServerQuotaSource
.Interface for classes that expose metrics about the regionserver.Interface of a factory to create Metrics Sources used inside of regionservers.Factory to create MetricsRegionServerSource when given a MetricsRegionServerWrapperHadoop2 implementation of MetricsRegionServerSource.This is the interface that will expose RegionServer information to hadoop1/hadoop2 implementations of the MetricsRegionServerSource.Impl for exposing HRegionServer Information through Hadoop's metrics 2 system.This interface will be implemented to allow single regions to push metrics into MetricsRegionAggregateSource that will in turn push data to the Hadoop metrics system.Interface of class that will wrap an HRegion and export numbers so they can be used in MetricsRegionSourceThis interface will be implemented by a MetricsSource that will export metrics from multiple regions of a table into the hadoop metrics system.This interface will be implemented to allow region server to push table metrics into MetricsRegionAggregateSource that will in turn push data to the Hadoop metrics system.Interface of class that will wrap a MetricsTableSource and export numbers so they can be used in MetricsTableSourceThis interface will be implemented by a MetricsSource that will export metrics from multiple users into the hadoop metrics system.Wraps together the mutations which are applied as a batch to the region and their operation status and WALEdits.A filter that returns the cells which have mob reference tags.Scanner scans both the memstore and the MOB Store.Manages the read/write consistency.Write number and whether write has completed given out at start of a write transaction.Interface to Map of online regions.A mutable segment in memstore, specifically the active segment.This is a specialScannerContext
subclass that is designed to be used globally when limits should not be enforced during invocations ofInternalScanner.next(java.util.List)
orInternalScanner.next(java.util.List)
.A "non-lazy" scanner which always does a real seek operation.A "non-reversed & non-lazy" scanner which does not support backward scanning and always does a real seek operation.Accounting of current heap and data sizes.ARegionSplitRestriction
implementation that does nothing.Thrown if request for nonexistent column family.ByteBuffer based cell which has the chunkid at the 0th offset and with no tagsAn off heap chunk implementation.An on heap chunk implementation.Provides read-only access to the Regions presently online on the current RegionServerThis class stores the Operation status code and the exception message that occurs in case of failure of operations like put, delete, etc.Class to submit requests for PrefetchExecutor depending on configuration changeLock to manage concurrency betweenRegionScanner
andHRegion.getSmallestReadPoint()
.Region is a subset of HRegion with operations required for theCoprocessors
.Operation enum is used inRegion.startRegionOperation()
and elsewhere to provide context for various checks.Row lock held by a given thread.Implements the coprocessor environment and runtime support for coprocessors loaded within aRegion
.Encapsulation of the environment of each coprocessorSpecial version of RegionEnvironment that exposes RegionServerServices for Core Coprocessors only.RegionScanner describes iterators over rows in an HRegion.RegionScannerImpl is used to combine scanners from multiple Stores (aka column families).Thrown by the region server when it is aborting.RegionServerAccounting keeps record of some basic real time information about the Region Server.Coprocessor environment extension providing access to region server related services.Special version of RegionServerEnvironment that exposes RegionServerServices for Core Coprocessors only.Thrown if the region server log directory exists (which indicates another region server is running at the same address)A curated subset of services provided byHRegionServer
.Context for postOpenDeployTasks().Thrown by the region server when it is in shutting down state.Services a Store needs from a Region.A split policy determines when a Region should be split.A split restriction that restricts the pattern of the split point.A thread which callsreportProcedureDone
to tell master the result of a remote procedure.Gateway to Cluster Replication.A sink for a replication stream has to expose this service.A source for a replication stream has to expose this service.ReversedKeyValueHeap is used for supporting reversed scanning.In ReversedKVScannerComparator, we compare the row of scanners' peek values first, sort bigger one before the smaller one.ReversedMobStoreScanner extends from ReversedStoreScanner, and is used to support reversed scanning in both the memstore and the MOB store.ReversibleRegionScannerImpl extends from RegionScannerImpl, and is used to support reversed scanning.ReversedStoreScanner extends from StoreScanner, and is used to support reversed scanning.RowProcessor<S extends com.google.protobuf.Message,T extends com.google.protobuf.Message> Deprecated.As of release 2.0.0, this will be removed in HBase 3.0.0.Deprecated.since 0.99.0.A factory class that constructs anRpcScheduler
.Implements the regionserver RPC services.An Rpc callback for closing a RegionScanner.Holder class which holds the RegionScanner, nextCallSeq and RpcCallbacks together.An RpcCallBack that creates a list of scanners that needs to perform callBack operation on completion of multiGets.Used bySnapshotVerifyProcedure
to verify if the region info and store file info in RegionManifest are intact.Immutable information for scans over a store.ScannerContext instances encapsulate limit tracking AND progress towards those limits during invocations ofInternalScanner.next(java.util.List)
andInternalScanner.next(java.util.List)
.The different fields that can be used as limits in calls toInternalScanner.next(java.util.List)
andInternalScanner.next(java.util.List)
The various scopes where a limit can be enforced.The possible states a scanner may be in following a call toInternalScanner.next(List)
Generate a new style scanner id to prevent collision with previous started server or other RSs.This class gives you the ability to change the max versions and TTL options before opening a scanner for a Store.Enum to distinguish general scan types.Bulk loads in secure mode.This is an abstraction of a segment maintained in a memstore, e.g., the active cell set or its snapshot.A singleton store segment factory.A scanner of a single memstore segment.Interface which abstracts implementations on log sequenceId assignmentImplementation of nonce manager that stores nonces in a hash map and cleans them up after some time; if nonce group/client ID is supplied, nonces are stored by client ID.This interface denotes a scanner as one which can ship cells.Implementors of this interface are the ones who needs to do some action when theShipper.shipped()
is calledManage regionserver shutdown hooks.Constructs aSimpleRpcScheduler
.A basic SegmentScanner used against an ImmutableScanner snapshot Used flushing where we do a single pass, no reverse scanning or inserts happening.Deprecated.since 2.4.0 and in 3.0.0, to be removed in 4.0.0, replaced by procedure-based distributed WAL splitter, see SplitWALRemoteProcedureObjects implementing this interface actually do the task that has been acquired by aSplitLogWorker
.Handles processing region splits.This callable is used to do the real split WAL task.Interface for objects that hold a column family in a Region.A more restricted interface for HStore.This carries the immutable information and references on some of the meta data about the HStore.StoreEngine<SF extends StoreFlusher,CP extends CompactionPolicy, C extends Compactor<?>, SFM extends StoreFileManager> StoreEngine is a factory that can create the objects necessary for HStore to operate.An interface to describe a store data file.Useful comparators for comparing store files.Describe a StoreFile (hfile, reference, link)Manages the store files and basic metadata about that that determines the logical structure (e.g.Reader for a StoreFile.A chore for refreshing the store files for secondary regions hosted in the region server.KeyValueScanner adaptor over the Reader.A StoreFile writer.A package protected interface for a store flushing.Store flusher interface.Scanner scans both the memstore and the Store.Utility functions for region server storage layer.Base class for cell sink that separates the provided cells into multiple files for stripe compaction.MultiWriter that separates the cells based on fixed row-key boundaries.MultiWriter that separates the cells based on target cell number per file and file count.Configuration class for stripe store and compactions.The storage engine that implements the stripe-based store/compaction scheme.Stripe implementation of StoreFileManager.An extension of ConcatenatedLists that has several peculiar properties.The state class.Stripe implementation of StoreFlusher.Stripe flush request wrapper based on boundaries.Stripe flush request wrapper based on size.Stripe flush request wrapper that writes a non-striped file.Accounting of current heap and data sizes.Stores minimum and maximum timestamp values, it is [minimumTimestamp, maximumTimestamp] in interval notation.A list of segment managers coupled with the version of the memstore (version at the time it was created).Thrown when a request contains a key which is not part of this region