Get desktop application:
View/edit binary Protocol Buffers messages
(message has no fields)
(message has no fields)
(message has no fields)
* Get a list of store files for a set of column families in a particular region. If no column family is specified, get the store files for all column families.
(message has no fields)
* Closes the specified region and will use or not use ZK during the close according to the specified flag.
* Flushes the MemStore of the specified region. <p> This method is synchronous.
* Splits the specified region. <p> This method currently flushes the region and then forces a compaction which will then trigger a split. The flush is done synchronously but the compaction is asynchronous.
(message has no fields)
* Compacts the specified region. Performs a major compaction if specified. <p> This method is asynchronous.
(message has no fields)
* Merges the specified regions. <p> This method currently closes the regions and then merges them
(message has no fields)
(message has no fields)
A list of encoded name of regions to flush
(message has no fields)
(message has no fields)
* Refer to the AggregateImplementation class for an overview of the AggregateService method implementations and their functionality.
RPC service
RPC request & response messages
(message has no fields)
(message has no fields)
* The get request. Perform a single Get operation.
* The mutate request. Perform a single Mutate operation. Optionally, you can specify a condition. The mutate will take place only if the condition is met. Otherwise, the mutate will be ignored. In the response result, parameter processed is used to indicate if the mutate actually happened.
used for mutate to indicate processed only
* A scan request. Initially, it should specify a scan. Later on, you can use the scanner id returned to fetch result batches with a different scan request. The scanner will remain open if there are more results, and it's not asked to be closed explicitly. You can fetch the results and ask the scanner to be closed to save a trip if you are not interested in remaining results.
* The scan response. If there are no more results, more_results will be false. If it is not specified, it means there are more.
This field is filled in if we are doing cellblocks. A cellblock is made up of all Cells serialized out as one cellblock BUT responses from a server have their Cells grouped by Result. So we can reconstitute the Results on the client-side, this field is a list of counts of Cells in each Result that makes up the response. For example, if this field has 3, 3, 3 in it, then we know that on the client, we are to make three Results each of three Cells each.
If cells are not carried in an accompanying cellblock, then they are pb'd here. This field is mutually exclusive with cells_per_result (since the Cells will be inside the pb'd Result)
* Atomically bulk load multiple HFiles (say from different column families) into an open region.
* Execute a list of actions on a given region in order. Nothing prevents a request to contains a set of RegionAction on the same region. For this reason, the matching between the MultiRequest and the MultiResponse is not done by the region specifier but by keeping the order of the RegionActionResult vs. the order of the RegionAction.
* Used by the client to get the number of regions that have received the updated schema
* Get list of TableDescriptors for requested tables.
* Get the list of table names.
(message has no fields)
* Return cluster status.
(message has no fields)
* return true if master is available
(message has no fields)
* Adds a column to the specified table.
(message has no fields)
* Deletes a column from the specified table. Table must be disabled.
(message has no fields)
* Modifies an existing column on the specified table.
(message has no fields)
* Move the region region to the destination server.
(message has no fields)
* Master dispatch merging the regions
* Dispatch merging the specified regions.
(message has no fields)
* Assign a region to a server chosen at random.
(message has no fields)
* Unassign a region from current hosting regionserver. Region will then be assigned to a regionserver chosen at random. Region could be reassigned back to the same server. Use MoveRegion if you want to control the region movement.
(message has no fields)
* Offline a region from the assignment manager's in-memory state. The region should be in a closed state and there will be no attempt to automatically reassign the region as in unassign. This is a special method, and should only be used by experts or hbck.
(message has no fields)
* Deletes a table
(message has no fields)
* Puts the table on-line (only needed if table has been previously taken offline)
(message has no fields)
* Take table offline
(message has no fields)
* Modify a table's metadata
(message has no fields)
* Creates a new table asynchronously
(message has no fields)
* Shutdown an HBase cluster.
(message has no fields)
(message has no fields)
* Stop HBase Master only. Does not shutdown the cluster.
(message has no fields)
(message has no fields)
* Run the balancer. Will run the balancer and if regions to move, it will go ahead and do the reassignments. Can NOT run for various reasons. Check logs.
(message has no fields)
* Turn the load balancer on or off. If synchronous is true, it waits until current balance() call, if outstanding, to return.
* Get a run of the catalog janitor
(message has no fields)
* Enable the catalog janitor on or off.
* Query whether the catalog janitor is enabled.
(message has no fields)
* Call a master coprocessor endpoint
* Create a snapshot for the given table.
* Get completed snapshots. Returns a list of snapshot descriptors for completed snapshots
(message has no fields)
* Delete an existing snapshot. This method can also be used to clean up an aborted snapshot.
(message has no fields)
* Determine if the snapshot is done yet.
if you don't send the snapshot, then you will get it back in the response (if the snapshot is done) so you can check the snapshot
* Restore a snapshot
(message has no fields)
* Determine if the snapshot restore is done yet.
* Modify a namespace's metadata
(message has no fields)
* Creates a new namespace synchronously
(message has no fields)
* Deletes namespace synchronously
(message has no fields)
* Get a namespace descriptor by name
* returns a list of namespaces
(message has no fields)
* returns a list of tables for a given namespace
* returns a list of tables for a given namespace
(message has no fields)
* Called when a region server first starts.
* Port number this regionserver is up on
* This servers' startcode
* Current time of the region server in ms
* Configuration for the regionserver to use: e.g. filesystem, hbase rootdir, the hostname to use creating the RegionServer ServerName, etc
* Called to report the load the RegionServer is under.
* load the server is under
(message has no fields)
* Called by a region server to report a fatal error that is causing it to abort.
* name of the server experiencing the error
* informative text to expose in the master logs and UI
(message has no fields)
* Called to get the sequence id of the last MemStore entry flushed to an HFile for a specified region. Used by the region server to speed up log splitting.
* region name
* the last HLog sequence id flushed from MemStore to HFile for the region
(message has no fields)
Either a Get or a Mutation
Used in:
If part of a multi action, useful aligning result with what was originally submitted.
Used as request type in: AggregateService.GetAvg, AggregateService.GetMax, AggregateService.GetMedian, AggregateService.GetMin, AggregateService.GetRowNum, AggregateService.GetStd, AggregateService.GetSum
* The request passed to the AggregateService consists of three parts (1) the (canonical) classname of the ColumnInterpreter implementation (2) the Scan query (3) any bytes required to construct the ColumnInterpreter object properly
Used as response type in: AggregateService.GetAvg, AggregateService.GetMax, AggregateService.GetMedian, AggregateService.GetMin, AggregateService.GetRowNum, AggregateService.GetStd, AggregateService.GetSum
* The AggregateService methods all have a response that either is a Pair or a simple object. When it is a Pair both first_part and second_part have defined values (and the second_part is not present in the response when the response is not a pair). Refer to the AggregateImplementation class for an overview of the AggregateResponse object constructions.
Used in:
Used in:
,Used in:
, ,Used in:
, , ,* Protocol buffer version of Cell.
Used in:
Optional Cell block Message. Included in client RequestHeader
Used in:
,Length of the following cell block. Could calculate it but convenient having it too hand.
* The type of the key in a Cell
Used in:
,MAXIMUM is used when searching; you look from maximum on down.
* Content of the '/hbase/hbaseid', cluster id, znode. Also cluster of the ${HBASE_ROOTDIR}/hbase.id file.
Used in:
This is the cluster id, a uuid as a String
Used in:
* Content of the '/hbase/running', cluster state, znode.
If this znode is present, cluster is up. Currently the data is cluster start_date.
* Container for a list of column qualifier names of a family.
Used in:
,* Column Family Schema Inspired by the rest ColumSchemaMessage
Used in:
, ,* Special WAL entry to hold all related to a compaction. Written to WAL before completing compaction. There is sufficient info in the below message to complete later the * compaction should we fail the WAL write.
TODO: WALKey already stores these, might remove
Used in:
, ,Used in:
, , , ,Comparison operators
Used in:
, ,* Condition to check if the value of a given cell (row, family, qualifier) matches a value via a given comparator. Condition is used in check and mutate operations.
Used in:
This is sent on connection setup after the connection preamble is sent.
Cell block codec we will use sending over optional cell blocks. Server throws exception if cannot deal. Null means no codec'ing going on so we are pb all the time (SLOW!!!)
Compressor we will use if cell block is compressed. Server will throw exception if not supported. Class must implement hadoop's CompressionCodec Interface. Can't compress if no codec.
Used in:
,Used in:
Used as request type in: ClientService.ExecService, MasterService.ExecMasterService
Used as response type in: ClientService.ExecService, MasterService.ExecMasterService
Used in:
(message has no fields)
At the RPC layer, this message is used to carry the server side exception to the RPC client.
Used in:
Class name of the exception thrown from the server
Exception stack trace from the server side
Optional hostname. Filled in for some exceptions such as region moved where exception gives clue on where the region may have moved.
Set if we are NOT to retry on receipt of this exception
Used in:
* Protocol buffer for favored nodes
Map of name/values
HFile file trailer
Used in:
, , , , ,Used in:
(message has no fields)
* Exception sent across the wire when a remote task needs to notify other tasks that it failed and why
* Cause of a remote failure for a generic exception. Contains all the information for a generic exception as well as optional info about the error for generic info passing (which should be another protobuffed class).
Used in:
* The protocol buffer version of Get. Unless existence_only is specified, return all the requested data for the row that matches exactly, or the one that immediately precedes it if closest_row_before is specified.
Used in:
,The result isn't asked for, just check for the existence.
If the row to get doesn't exist, return the closest row before.
Used in:
Used in:
* The ${HBASE_ROOTDIR}/hbase.version file content
Used in:
* Protocol buffer version of KeyValue. It doesn't have those transient parameters
Used in:
* Content of the master znode.
The ServerName of the current Master
Major RPC version so that clients can know what version the master can accept.
* Content of the meta-region-server znode.
The ServerName hosting the meta region currently.
The major version of the rpc the server speaks. This is used so that clients connecting to the cluster can have prior knowledge of what version to send to a RegionServer. AsyncHBase will use this to detect versions.
(message has no fields)
(message has no fields)
* A specific mutation inside a mutate request. It can be an append, increment, put or delete based on the mutation type. It can be fully filled in or only metadata present because data is being carried elsewhere outside of pb.
Used in:
, ,For some mutations, a result may be returned, in which case, time range can be specified for potential performance gain
The below count is set when the associated cells are NOT part of this protobuf message; they are passed alongside and then this Message is a placeholder with metadata. The count is needed to know how many to peel off the block of Cells as ours. NOTE: This is different from the pb managed cell_count of the 'cell' field above which is non-null when the cells are pb'd.
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
, , , , ,Used in:
Used in:
, , ,Used in:
, , ,Used in:
(message has no fields)
Used in:
Used in:
Used in:
, ,Used in:
, ,Used in:
,Used to pass through the information necessary to continue a trace after an RPC is made. All we need is the traceid (so we know the overarching trace this message is a part of), and the id of the current span when this message was sent, so we know what span caused the new span we will create when this message is received.
Used in:
* Reference file content used when we split an hfile under a region.
Used in:
* Actions to run against a Region.
Used in:
When set, run mutations as atomic unit.
* The result of a RegionAction.
Used in:
If the operation failed globally for this region, this exception is set
Used in:
* Protocol buffer version of HRegionInfo.
Used in:
, , , ,Used in:
* the region specifier
* the number of stores for the region
* the number of storefiles for the region
* the total size of the store files for the region, uncompressed, in MB
* the current total size of the store files for the region, in MB
* the current size of the memstore for the region, in MB
* The current total size of root-level store file indexes for the region, in MB. The same as {@link #rootIndexSizeKB} but in MB.
* the current total read requests made to region
* the current total write requests made to region
* the total compacting key values in currently running compaction
* the completed count of key values in currently running compaction
* The current total size of root-level indexes for the region, in KB.
* The total size of all index blocks, not just the root level, in KB.
* The total size of all Bloom filter blocks, not just loaded into the block cache, in KB.
* the most recent sequence Id from cache flush
* Description of the region server info
* Container protocol buffer to specify a region. You can specify region by region name, or the hash of the region name, which is known as encoded region name.
Used in:
, , , , , , , , , , , , , , , , , , , , ,Used in:
<tablename>,<startkey>,<regionId>.<encodedName>
hash of <tablename>,<startkey>,<regionId>
Used in:
Used in:
region is in an offline state
sent rpc to server to open but has not begun
server has begun to open but not yet done
server opened region and updated meta
sent rpc to server to close but has not begun
server has begun to close but not yet done
server closed region and updated meta
server started split of a region
server completed split of a region
failed to open, and won't retry any more
failed to close, and won't retry any more
server started merge a region
server completed merge of a region
new region to be created when RS splits a parent
region but hasn't be created yet, or master doesn't know it's already created
new region to be created when RS merges two
* contains a sequence id of a region which should be the minimum of its store sequence ids and list sequence ids of the region's stores
* What we write under unassigned up in zookeeper as a region moves through open/close, etc., regions. Details a region in transition.
Code for EventType gotten by doing o.a.h.h.EventHandler.EventType.getCode()
Full regionname in bytes
The region server where the transition will happen or is happening
* Replicates the given entries. The guarantee is that the given entries will be durable on the slave cluster if this method returns without any exception. hbase.replication has to be set to true for this to work.
Used as request type in: AdminService.Replay, AdminService.ReplicateWALEntry
Used as response type in: AdminService.Replay, AdminService.ReplicateWALEntry
(message has no fields)
* Used by replication. Holds the current position in an HLog file.
* Used by replication. Used to lock a region server during failover.
* Used by replication. Holds a replication peer key.
clusterkey is the concatenation of the slave cluster's hbase.zookeeper.quorum:hbase.zookeeper.property.clientPort:zookeeper.znode.parent
* Used by replication. Holds whether enabled or disabled
Used in:
Header sent making a request.
Monotonically increasing call_id to keep track of RPC requests and their response
If true, then a pb Message param follows.
If present, then an encoded data block follows.
0 is NORMAL priority. 100 is HIGH. If no priority, treat it as NORMAL. See HConstants.
If present, then request threw an exception and no response message (else we presume one)
If present, then an encoded data block follows.
Used in:
, , ,Result includes the Cells or else it just has a count of Cells that are carried otherwise.
The below count is set when the associated cells are not part of this protobuf message; they are passed alongside and then this Message is just a placeholder with metadata. The count is needed to know how many to peel off the block of Cells as ours. NOTE: This is different from the pb managed cell_count of the 'cell' field above which is non-null when the cells are pb'd.
used for Get to check existence only. Not set if existence_only was not set to true in the query.
* Either a Result or an Exception NameBytesPair (keyed by exception name whose value is the exception stringified) or maybe empty if no result and no exception.
Used in:
If part of a multi call, save original index of the list of all passed so can align this response w/ original request.
* Instead of get from a table, you can scan it with optional filters. You can specify the row key range, time range, the columns/families to scan and so on. This scan is used the first time in a scan request. The response of the initial scan will return a scanner id, which should be used to fetch result batches later on before it is closed.
Used in:
,DO NOT add defaults to load_column_families_on_demand.
Used in:
Used in:
Used in:
,* Number of requests since last report.
* Total Number of requests from the start of the region server.
* the amount of used heap, in MB.
* the maximum allowable size of the heap, in MB.
* Information on the load of individual regions.
* Regionserver-level coprocessors, e.g., WALObserver implementations. Region-level coprocessors, on the other hand, are stored inside RegionLoad objects.
* Time when incremental (non-total) counts began being calculated (e.g. number_of_requests) time is measured as the difference, measured in milliseconds, between the current time and midnight, January 1, 1970 UTC.
* Time when report was generated. time is measured as the difference, measured in milliseconds, between the current time and midnight, January 1, 1970 UTC.
* The port number that this region server is hosing an info server on.
* Protocol buffer version of ServerName
Used in:
, , , , , , , , , , , , , ,Used in:
* Description of the snapshot to take
Used in:
, , , , , ,not needed for delete, but checked for in taking snapshot
Used in:
* WAL SplitLog directory znodes have this for content. Used doing distributed WAL splitting. Holds current state and name of server that originated split.
Used in:
* Protobuf version of a java.lang.StackTraceElement so we can serialize exceptions.
Used in:
* sequence Id of a store
Used in:
* The znode that holds state of table.
This is the table's state. If no znode for a table, its state is presumed enabled. See o.a.h.h.zookeeper.ZKTable class for more.
Table's current state
Used in:
* Metadata associated with a table lock in zookeeper
* Table Name
Used in:
, , , , , , , , , , , , , , , ,Used in:
* Table Schema Inspired by the rest TableSchema
Used in:
, , ,* A range of time. Both from and to are Java time stamp in milliseconds. If you don't specify a time range, it means all time. By default, if not specified, from = 0, and to = Long.MAX_VALUE
Used in:
, ,Serialization of the org.apache.hadoop.security.token.Token class Note that this is a Hadoop class, so fields may change!
Used in:
the TokenIdentifier in serialized form Note: we can't use the protobuf directly because the Hadoop Token class only stores the serialized bytes
Used in:
Used in:
Used in:
User Information proto. Included in ConnectionHeader on connection setup
Used in:
Used in:
, ,* Content of the /hbase/acl/<table or namespace> znode.
Used in:
Protocol buffer version of WAL for replication
Used in:
Following may be null if the KVs/Cells are carried along the side in a cellblock (See RPC for more on cellblocks). If Cells/KVs are in a cellblock, this next field is null and associated_cell_count has count of Cells associated w/ this WALEntry
If Cell data is carried alongside in a cellblock, this is count of Cells in the cellblock.
Protocol buffer version of HLogKey; see HLogKey comment, not really a key but WALEdit header for some KVs
Used in:
This parameter is deprecated in favor of clusters which contains the list of clusters that have consumed the change. It is retained so that the log created by earlier releases (0.94) can be read by the newer releases.
This field contains the list of clusters that have consumed the change
optional CustomEntryType custom_entry_type = 9; enum CustomEntryType { COMPACTION = 0; }
* A trailer that is appended to the end of a properly closed HLog WAL file. If missing, this is either a legacy or a corrupted WAL file.
(message has no fields)