hrpc

package
Version: v0.0.0-...-2d0b4a6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 15, 2021 License: Apache-2.0 Imports: 12 Imported by: 309

Documentation

Index

Constants

View Source
const (
	// DefaultMaxVersions defualt value for maximum versions to return for scan queries
	DefaultMaxVersions uint32 = 1
	// MinTimestamp default value for minimum timestamp for scan queries
	MinTimestamp uint64 = 0
	// MaxTimestamp default value for maximum timestamp for scan queries
	MaxTimestamp = math.MaxUint64
	// DefaultMaxResultSize Maximum number of bytes fetched when calling a scanner's
	// next method. The default value is 2MB, which is good for 1ge networks.
	// With faster and/or high latency networks this value should be increased.
	DefaultMaxResultSize = 2097152
	// DefaultNumberOfRows is default maximum number of rows fetched by scanner
	DefaultNumberOfRows = math.MaxInt32
	// DefaultMaxResultsPerColumnFamily is the default max number of cells fetched
	// per column family for each row
	DefaultMaxResultsPerColumnFamily = math.MaxInt32
	// DefaultCacheBlocks is the default setting to enable the block cache for get/scan queries
	DefaultCacheBlocks = true
)

Variables

This section is empty.

Functions

func AllowPartialResults

func AllowPartialResults() func(Call) error

AllowPartialResults is an option for scan requests. This option should be provided if the client has really big rows and wants to avoid OOM errors on her side. With this option provided, Next() will return partial rows.

func CacheBlocks

func CacheBlocks(cacheBlocks bool) func(Call) error

CacheBlocks is an option for Scan or Get requests to enable/disable the block cache for the request

func CloseScanner

func CloseScanner() func(Call) error

CloseScanner is an option for scan requests. Closes scanner after the first result is returned. This is an internal option but could be useful if you know that your scan result fits into one response in order to save an extra request.

func DeleteOneVersion

func DeleteOneVersion() func(Call) error

DeleteOneVersion is a delete option that can be passed in order to delete only one latest version of the specified qualifiers. Without timestamp specified, it will have no effect for delete specific column families request. If a Timestamp option is passed along, only the version at that timestamp will be removed for delete specific column families and/or qualifier request. This option cannot be used for delete entire row request.

func Durability

func Durability(d DurabilityType) func(Call) error

Durability sets durability for mutation queries.

func Families

func Families(f map[string][]string) func(Call) error

Families option adds families constraint to a Scan or Get request.

func Filters

func Filters(f filter.Filter) func(Call) error

Filters option adds filters constraint to a Scan or Get request.

func ListNamespace

func ListNamespace(ns string) func(Call) error

ListNamespace sets a namespace for ListTableNames

func ListRegex

func ListRegex(regex string) func(Call) error

ListRegex sets a regex for ListTableNames

func ListSysTables

func ListSysTables(b bool) func(Call) error

ListSysTables includes sys tables for ListTableNames

func MaxResultSize

func MaxResultSize(n uint64) func(Call) error

MaxResultSize is an option for scan requests. Maximum number of bytes fetched when calling a scanner's next method. MaxResultSize takes priority over NumberOfRows.

func MaxResultsPerColumnFamily

func MaxResultsPerColumnFamily(maxresults uint32) func(Call) error

MaxResultsPerColumnFamily is an option for Get or Scan requests that sets the maximum number of cells returned per column family in a row.

func MaxVersions

func MaxVersions(versions uint32) func(Call) error

MaxVersions is used as a parameter for request creation. Adds MaxVersions constraint to a request.

func NumberOfRows

func NumberOfRows(n uint32) func(Call) error

NumberOfRows is an option for scan requests. Specifies how many rows are fetched with each request to regionserver. Should be > 0, avoid extremely low values such as 1 because a request to regionserver will be made for every row.

func ResultOffset

func ResultOffset(offset uint32) func(Call) error

ResultOffset is a option for Scan or Get requests that sets the offset for cells within a column family.

func Reversed

func Reversed() func(Call) error

Reversed is a Scan-only option which allows you to scan in reverse key order To use it the startKey would be greater than the end key

func ScannerID

func ScannerID(id uint64) func(Call) error

ScannerID is an option for scan requests. This is an internal option to fetch the next set of results for an ongoing scan.

func SkipBatch

func SkipBatch() func(Call) error

SkipBatch is an option for batchable requests (Get and Mutate) to tell the client to skip batching and just send the request to Region Server right away.

func SnapshotOwner

func SnapshotOwner(o string) func(Call) error

SnapshotOwner sets the owner of the snapshot.

func SnapshotSkipFlush

func SnapshotSkipFlush() func(Call) error

SnapshotSkipFlush disables hbase flushing when creating the snapshot.

func SnapshotVersion

func SnapshotVersion(v int32) func(Call) error

SnapshotVersion sets the version of the snapshot.

func SplitKeys

func SplitKeys(sk [][]byte) func(*CreateTable)

SplitKeys will return an option that will set the split keys for the created table

func TTL

func TTL(t time.Duration) func(Call) error

TTL sets a time-to-live for mutation queries. The value will be in millisecond resolution.

func TimeRange

func TimeRange(from, to time.Time) func(Call) error

TimeRange is used as a parameter for request creation. Adds TimeRange constraint to a request. It will get values in range [from, to[ ('to' is exclusive).

func TimeRangeUint64

func TimeRangeUint64(from, to uint64) func(Call) error

TimeRangeUint64 is used as a parameter for request creation. Adds TimeRange constraint to a request. from and to should be in milliseconds // It will get values in range [from, to[ ('to' is exclusive).

func Timestamp

func Timestamp(ts time.Time) func(Call) error

Timestamp sets timestamp for mutation queries. The time object passed will be rounded to a millisecond resolution, as by default, if no timestamp is provided, HBase sets it to current time in milliseconds. In order to have custom time precision, use TimestampUint64 call option for mutation requests and corresponding TimeRangeUint64 for retrieval requests.

func TimestampUint64

func TimestampUint64(ts uint64) func(Call) error

TimestampUint64 sets timestamp for mutation queries.

func WithDestinationRegionServer

func WithDestinationRegionServer(serverName string) func(Call) error

WithDestinationRegionServer specifies destination RegionServer for MoveReqion request A server name is its host, port plus startcode: host187.example.com,60020,1289493121758

Types

type Batchable

type Batchable interface {
	// SkipBatch returns true if a call shouldn't be batched into MultiRequest and
	// should be sent right away.
	SkipBatch() bool
	// contains filtered or unexported methods
}

Batchable interface should be implemented by calls that can be batched into MultiRequest

type Call

type Call interface {
	Table() []byte
	Name() string
	Key() []byte
	Region() RegionInfo
	SetRegion(region RegionInfo)
	ToProto() proto.Message
	// Returns a newly created (default-state) protobuf in which to store the
	// response of this call.
	NewResponse() proto.Message
	ResultChan() chan RPCResult
	Context() context.Context
}

Call represents an HBase RPC call.

type Cell

type Cell pb.Cell

Cell is the smallest level of granularity in returned results. Represents a single cell in HBase (a row will have one cell for every qualifier).

func (*Cell) String

func (c *Cell) String() string

type CheckAndPut

type CheckAndPut struct {
	*Mutate
	// contains filtered or unexported fields
}

CheckAndPut performs a provided Put operation if the value specified by condition equals to the one set in the HBase.

func NewCheckAndPut

func NewCheckAndPut(put *Mutate, family string,
	qualifier string, expectedValue []byte) (*CheckAndPut, error)

NewCheckAndPut creates a new CheckAndPut request that will compare provided expectedValue with the on in HBase located at put's row and provided family:qualifier, and if they are equal, perform the provided put request on the row

func (*CheckAndPut) CellBlocksEnabled

func (cp *CheckAndPut) CellBlocksEnabled() bool

func (CheckAndPut) Context

func (b CheckAndPut) Context() context.Context

func (CheckAndPut) Key

func (b CheckAndPut) Key() []byte

func (CheckAndPut) Options

func (b CheckAndPut) Options() []func(Call) error

Options returns all the options passed to this call

func (CheckAndPut) Region

func (b CheckAndPut) Region() RegionInfo

func (CheckAndPut) ResultChan

func (b CheckAndPut) ResultChan() chan RPCResult

func (CheckAndPut) SetRegion

func (b CheckAndPut) SetRegion(region RegionInfo)

func (CheckAndPut) Table

func (b CheckAndPut) Table() []byte

func (*CheckAndPut) ToProto

func (cp *CheckAndPut) ToProto() proto.Message

ToProto converts the RPC into a protobuf message

type ClusterStatus

type ClusterStatus struct {
	// contains filtered or unexported fields
}

ClusterStatus to represent a cluster status request

func NewClusterStatus

func NewClusterStatus() *ClusterStatus

NewClusterStatus creates a new ClusterStatusStruct with default fields

func (*ClusterStatus) Context

func (b *ClusterStatus) Context() context.Context

func (*ClusterStatus) Key

func (b *ClusterStatus) Key() []byte

func (*ClusterStatus) Name

func (c *ClusterStatus) Name() string

Name returns the name of the rpc function

func (*ClusterStatus) NewResponse

func (c *ClusterStatus) NewResponse() proto.Message

NewResponse returns the empty protobuf response

func (*ClusterStatus) Options

func (b *ClusterStatus) Options() []func(Call) error

Options returns all the options passed to this call

func (*ClusterStatus) Region

func (b *ClusterStatus) Region() RegionInfo

func (*ClusterStatus) ResultChan

func (b *ClusterStatus) ResultChan() chan RPCResult

func (*ClusterStatus) SetRegion

func (b *ClusterStatus) SetRegion(region RegionInfo)

func (*ClusterStatus) Table

func (b *ClusterStatus) Table() []byte

func (*ClusterStatus) ToProto

func (c *ClusterStatus) ToProto() proto.Message

ToProto returns the Protobuf message to be sent

type CreateTable

type CreateTable struct {
	// contains filtered or unexported fields
}

CreateTable represents a CreateTable HBase call

func NewCreateTable

func NewCreateTable(ctx context.Context, table []byte,
	families map[string]map[string]string,
	options ...func(*CreateTable)) *CreateTable

NewCreateTable creates a new CreateTable request that will create the given table in HBase. 'families' is a map of column family name to its attributes. For use by the admin client.

func (*CreateTable) Context

func (b *CreateTable) Context() context.Context

func (*CreateTable) Key

func (b *CreateTable) Key() []byte

func (*CreateTable) Name

func (ct *CreateTable) Name() string

Name returns the name of this RPC call.

func (*CreateTable) NewResponse

func (ct *CreateTable) NewResponse() proto.Message

NewResponse creates an empty protobuf message to read the response of this RPC.

func (*CreateTable) Options

func (b *CreateTable) Options() []func(Call) error

Options returns all the options passed to this call

func (*CreateTable) Region

func (b *CreateTable) Region() RegionInfo

func (*CreateTable) ResultChan

func (b *CreateTable) ResultChan() chan RPCResult

func (*CreateTable) SetRegion

func (b *CreateTable) SetRegion(region RegionInfo)

func (*CreateTable) Table

func (b *CreateTable) Table() []byte

func (*CreateTable) ToProto

func (ct *CreateTable) ToProto() proto.Message

ToProto converts the RPC into a protobuf message

type DeleteSnapshot

type DeleteSnapshot struct {
	*Snapshot
}

DeleteSnapshot represents a DeleteSnapshot HBase call.

func NewDeleteSnapshot

func NewDeleteSnapshot(t *Snapshot) *DeleteSnapshot

NewDeleteSnapshot creates a new DeleteSnapshot request that will delete the given snapshot.

func (DeleteSnapshot) Context

func (b DeleteSnapshot) Context() context.Context

func (DeleteSnapshot) Key

func (b DeleteSnapshot) Key() []byte

func (*DeleteSnapshot) Name

func (sr *DeleteSnapshot) Name() string

Name returns the name of this RPC call.

func (*DeleteSnapshot) NewResponse

func (sr *DeleteSnapshot) NewResponse() proto.Message

NewResponse creates an empty protobuf message to read the response of this RPC.

func (DeleteSnapshot) Options

func (b DeleteSnapshot) Options() []func(Call) error

Options returns all the options passed to this call

func (DeleteSnapshot) Owner

func (s DeleteSnapshot) Owner(o string)

func (DeleteSnapshot) Region

func (b DeleteSnapshot) Region() RegionInfo

func (DeleteSnapshot) ResultChan

func (b DeleteSnapshot) ResultChan() chan RPCResult

func (DeleteSnapshot) SetRegion

func (b DeleteSnapshot) SetRegion(region RegionInfo)

func (DeleteSnapshot) Table

func (b DeleteSnapshot) Table() []byte

func (DeleteSnapshot) Type

func (s DeleteSnapshot) Type(t pb.SnapshotDescription_Type)

func (DeleteSnapshot) Version

func (s DeleteSnapshot) Version(v int32)

type DeleteTable

type DeleteTable struct {
	// contains filtered or unexported fields
}

DeleteTable represents a DeleteTable HBase call

func NewDeleteTable

func NewDeleteTable(ctx context.Context, table []byte) *DeleteTable

NewDeleteTable creates a new DeleteTable request that will delete the given table in HBase. For use by the admin client.

func (*DeleteTable) Context

func (b *DeleteTable) Context() context.Context

func (*DeleteTable) Key

func (b *DeleteTable) Key() []byte

func (*DeleteTable) Name

func (dt *DeleteTable) Name() string

Name returns the name of this RPC call.

func (*DeleteTable) NewResponse

func (dt *DeleteTable) NewResponse() proto.Message

NewResponse creates an empty protobuf message to read the response of this RPC.

func (*DeleteTable) Options

func (b *DeleteTable) Options() []func(Call) error

Options returns all the options passed to this call

func (*DeleteTable) Region

func (b *DeleteTable) Region() RegionInfo

func (*DeleteTable) ResultChan

func (b *DeleteTable) ResultChan() chan RPCResult

func (*DeleteTable) SetRegion

func (b *DeleteTable) SetRegion(region RegionInfo)

func (*DeleteTable) Table

func (b *DeleteTable) Table() []byte

func (*DeleteTable) ToProto

func (dt *DeleteTable) ToProto() proto.Message

ToProto converts the RPC into a protobuf message

type DisableTable

type DisableTable struct {
	// contains filtered or unexported fields
}

DisableTable represents a DisableTable HBase call

func NewDisableTable

func NewDisableTable(ctx context.Context, table []byte) *DisableTable

NewDisableTable creates a new DisableTable request that will disable the given table in HBase. For use by the admin client.

func (*DisableTable) Context

func (b *DisableTable) Context() context.Context

func (*DisableTable) Key

func (b *DisableTable) Key() []byte

func (*DisableTable) Name

func (dt *DisableTable) Name() string

Name returns the name of this RPC call.

func (*DisableTable) NewResponse

func (dt *DisableTable) NewResponse() proto.Message

NewResponse creates an empty protobuf message to read the response of this RPC.

func (*DisableTable) Options

func (b *DisableTable) Options() []func(Call) error

Options returns all the options passed to this call

func (*DisableTable) Region

func (b *DisableTable) Region() RegionInfo

func (*DisableTable) ResultChan

func (b *DisableTable) ResultChan() chan RPCResult

func (*DisableTable) SetRegion

func (b *DisableTable) SetRegion(region RegionInfo)

func (*DisableTable) Table

func (b *DisableTable) Table() []byte

func (*DisableTable) ToProto

func (dt *DisableTable) ToProto() proto.Message

ToProto converts the RPC into a protobuf message

type DurabilityType

type DurabilityType int32

DurabilityType is used to set durability for Durability option

const (
	// UseDefault is USER_DEFAULT
	UseDefault DurabilityType = iota
	// SkipWal is SKIP_WAL
	SkipWal
	// AsyncWal is ASYNC_WAL
	AsyncWal
	// SyncWal is SYNC_WAL
	SyncWal
	// FsyncWal is FSYNC_WAL
	FsyncWal
)

type EnableTable

type EnableTable struct {
	// contains filtered or unexported fields
}

EnableTable represents a EnableTable HBase call

func NewEnableTable

func NewEnableTable(ctx context.Context, table []byte) *EnableTable

NewEnableTable creates a new EnableTable request that will enable the given table in HBase. For use by the admin client.

func (*EnableTable) Context

func (b *EnableTable) Context() context.Context

func (*EnableTable) Key

func (b *EnableTable) Key() []byte

func (*EnableTable) Name

func (et *EnableTable) Name() string

Name returns the name of this RPC call.

func (*EnableTable) NewResponse

func (et *EnableTable) NewResponse() proto.Message

NewResponse creates an empty protobuf message to read the response of this RPC.

func (*EnableTable) Options

func (b *EnableTable) Options() []func(Call) error

Options returns all the options passed to this call

func (*EnableTable) Region

func (b *EnableTable) Region() RegionInfo

func (*EnableTable) ResultChan

func (b *EnableTable) ResultChan() chan RPCResult

func (*EnableTable) SetRegion

func (b *EnableTable) SetRegion(region RegionInfo)

func (*EnableTable) Table

func (b *EnableTable) Table() []byte

func (*EnableTable) ToProto

func (et *EnableTable) ToProto() proto.Message

ToProto converts the RPC into a protobuf message

type Get

type Get struct {
	// contains filtered or unexported fields
}

Get represents a Get HBase call.

func NewGet

func NewGet(ctx context.Context, table, key []byte,
	options ...func(Call) error) (*Get, error)

NewGet creates a new Get request for the given table and row key.

func NewGetStr

func NewGetStr(ctx context.Context, table, key string,
	options ...func(Call) error) (*Get, error)

NewGetStr creates a new Get request for the given table and row key.

func (*Get) Context

func (b *Get) Context() context.Context

func (*Get) DeserializeCellBlocks

func (g *Get) DeserializeCellBlocks(m proto.Message, b []byte) (uint32, error)

DeserializeCellBlocks deserializes get result from cell blocks

func (*Get) ExistsOnly

func (g *Get) ExistsOnly()

ExistsOnly makes this Get request not return any KeyValue, merely whether or not the given row key exists in the table.

func (*Get) Key

func (b *Get) Key() []byte

func (*Get) Name

func (g *Get) Name() string

Name returns the name of this RPC call.

func (*Get) NewResponse

func (g *Get) NewResponse() proto.Message

NewResponse creates an empty protobuf message to read the response of this RPC.

func (*Get) Options

func (b *Get) Options() []func(Call) error

Options returns all the options passed to this call

func (*Get) Region

func (b *Get) Region() RegionInfo

func (*Get) ResultChan

func (b *Get) ResultChan() chan RPCResult

func (*Get) SetRegion

func (b *Get) SetRegion(region RegionInfo)

func (*Get) SkipBatch

func (g *Get) SkipBatch() bool

SkipBatch returns true if the Get request shouldn't be batched, but should be sent to Region Server right away.

func (*Get) Table

func (b *Get) Table() []byte

func (*Get) ToProto

func (g *Get) ToProto() proto.Message

ToProto converts this RPC into a protobuf message.

type GetProcedureState

type GetProcedureState struct {
	// contains filtered or unexported fields
}

GetProcedureState represents a call to HBase to check status of a procedure

func NewGetProcedureState

func NewGetProcedureState(ctx context.Context, procID uint64) *GetProcedureState

NewGetProcedureState creates a new GetProcedureState request. For use by the admin client.

func (*GetProcedureState) Context

func (b *GetProcedureState) Context() context.Context

func (*GetProcedureState) Key

func (b *GetProcedureState) Key() []byte

func (*GetProcedureState) Name

func (ps *GetProcedureState) Name() string

Name returns the name of this RPC call.

func (*GetProcedureState) NewResponse

func (ps *GetProcedureState) NewResponse() proto.Message

NewResponse creates an empty protobuf message to read the response of this RPC.

func (*GetProcedureState) Options

func (b *GetProcedureState) Options() []func(Call) error

Options returns all the options passed to this call

func (*GetProcedureState) Region

func (b *GetProcedureState) Region() RegionInfo

func (*GetProcedureState) ResultChan

func (b *GetProcedureState) ResultChan() chan RPCResult

func (*GetProcedureState) SetRegion

func (b *GetProcedureState) SetRegion(region RegionInfo)

func (*GetProcedureState) Table

func (b *GetProcedureState) Table() []byte

func (*GetProcedureState) ToProto

func (ps *GetProcedureState) ToProto() proto.Message

ToProto converts the RPC into a protobuf message

type ListSnapshots

type ListSnapshots struct {
	// contains filtered or unexported fields
}

ListSnapshots represents a new GetCompletedSnapshots request that will list all snapshots.

func NewListSnapshots

func NewListSnapshots(ctx context.Context) *ListSnapshots

NewListSnapshots creates a new GetCompletedSnapshots request that will list all snapshots.

func (*ListSnapshots) Context

func (b *ListSnapshots) Context() context.Context

func (*ListSnapshots) Key

func (b *ListSnapshots) Key() []byte

func (*ListSnapshots) Name

func (sr *ListSnapshots) Name() string

Name returns the name of this RPC call.

func (*ListSnapshots) NewResponse

func (sr *ListSnapshots) NewResponse() proto.Message

NewResponse creates an empty protobuf message to read the response of this RPC.

func (*ListSnapshots) Options

func (b *ListSnapshots) Options() []func(Call) error

Options returns all the options passed to this call

func (*ListSnapshots) Region

func (b *ListSnapshots) Region() RegionInfo

func (*ListSnapshots) ResultChan

func (b *ListSnapshots) ResultChan() chan RPCResult

func (*ListSnapshots) SetRegion

func (b *ListSnapshots) SetRegion(region RegionInfo)

func (*ListSnapshots) Table

func (b *ListSnapshots) Table() []byte

func (*ListSnapshots) ToProto

func (sr *ListSnapshots) ToProto() proto.Message

ToProto converts the RPC into a protobuf message.

type ListTableNames

type ListTableNames struct {
	// contains filtered or unexported fields
}

ListTableNames models a ListTableNames pb call

func NewListTableNames

func NewListTableNames(ctx context.Context, opts ...func(Call) error) (*ListTableNames, error)

NewListTableNames creates a new GetTableNames request that will list tables in hbase.

By default matchs all tables. Use the options (ListRegex, ListNamespace, ListSysTables) to set non default behaviour.

func (*ListTableNames) Context

func (b *ListTableNames) Context() context.Context

func (*ListTableNames) Key

func (b *ListTableNames) Key() []byte

func (*ListTableNames) Name

func (tn *ListTableNames) Name() string

Name returns the name of this RPC call.

func (*ListTableNames) NewResponse

func (tn *ListTableNames) NewResponse() proto.Message

NewResponse creates an empty protobuf message to read the response of this RPC.

func (*ListTableNames) Options

func (b *ListTableNames) Options() []func(Call) error

Options returns all the options passed to this call

func (*ListTableNames) Region

func (b *ListTableNames) Region() RegionInfo

func (*ListTableNames) ResultChan

func (b *ListTableNames) ResultChan() chan RPCResult

func (*ListTableNames) SetRegion

func (b *ListTableNames) SetRegion(region RegionInfo)

func (*ListTableNames) Table

func (b *ListTableNames) Table() []byte

func (*ListTableNames) ToProto

func (tn *ListTableNames) ToProto() proto.Message

ToProto converts the RPC into a protobuf message.

type MoveRegion

type MoveRegion struct {
	// contains filtered or unexported fields
}

MoveRegion allows to move region to a different RegionServer.

func NewMoveRegion

func NewMoveRegion(ctx context.Context, regionName []byte,
	opts ...func(Call) error) (*MoveRegion, error)

NewMoveRegion creates an hrpc to move region to a different RegionServer. Specify encoded region name.

func (*MoveRegion) Context

func (b *MoveRegion) Context() context.Context

func (*MoveRegion) Key

func (b *MoveRegion) Key() []byte

func (*MoveRegion) Name

func (mr *MoveRegion) Name() string

Name returns the name of this RPC call.

func (*MoveRegion) NewResponse

func (mr *MoveRegion) NewResponse() proto.Message

NewResponse creates an empty protobuf message to read the response of this RPC.

func (*MoveRegion) Options

func (b *MoveRegion) Options() []func(Call) error

Options returns all the options passed to this call

func (*MoveRegion) Region

func (b *MoveRegion) Region() RegionInfo

func (*MoveRegion) ResultChan

func (b *MoveRegion) ResultChan() chan RPCResult

func (*MoveRegion) SetRegion

func (b *MoveRegion) SetRegion(region RegionInfo)

func (*MoveRegion) Table

func (b *MoveRegion) Table() []byte

func (*MoveRegion) ToProto

func (mr *MoveRegion) ToProto() proto.Message

ToProto converts the RPC into a protobuf message.

type Mutate

type Mutate struct {
	// contains filtered or unexported fields
}

Mutate represents a mutation on HBase.

func NewApp

func NewApp(ctx context.Context, table, key []byte,
	values map[string]map[string][]byte, options ...func(Call) error) (*Mutate, error)

NewApp creates a new Mutation request to append the given family-column-values into the existing cells in HBase (or create them if needed), in given row key of the given table.

func NewAppStr

func NewAppStr(ctx context.Context, table, key string,
	values map[string]map[string][]byte, options ...func(Call) error) (*Mutate, error)

NewAppStr is just like NewApp but takes table and key as strings.

func NewDel

func NewDel(ctx context.Context, table, key []byte,
	values map[string]map[string][]byte, options ...func(Call) error) (*Mutate, error)

NewDel is used to perform Delete operations on a single row. To delete entire row, values should be nil.

To delete specific families, qualifiers map should be nil:

 map[string]map[string][]byte{
		"cf1": nil,
		"cf2": nil,
 }

To delete specific qualifiers:

 map[string]map[string][]byte{
     "cf": map[string][]byte{
			"q1": nil,
			"q2": nil,
		},
 }

To delete all versions before and at a timestamp, pass hrpc.Timestamp() option. By default all versions will be removed.

To delete only a specific version at a timestamp, pass hrpc.DeleteOneVersion() option along with a timestamp. For delete specific qualifiers request, if timestamp is not passed, only the latest version will be removed. For delete specific families request, the timestamp should be passed or it will have no effect as it's an expensive operation to perform.

func NewDelStr

func NewDelStr(ctx context.Context, table, key string,
	values map[string]map[string][]byte, options ...func(Call) error) (*Mutate, error)

NewDelStr is just like NewDel but takes table and key as strings.

func NewInc

func NewInc(ctx context.Context, table, key []byte,
	values map[string]map[string][]byte, options ...func(Call) error) (*Mutate, error)

NewInc creates a new Mutation request that will increment the given values in HBase under the given table and key.

func NewIncSingle

func NewIncSingle(ctx context.Context, table, key []byte, family, qualifier string,
	amount int64, options ...func(Call) error) (*Mutate, error)

NewIncSingle creates a new Mutation request that will increment the given value by amount in HBase under the given table, key, family and qualifier.

func NewIncStr

func NewIncStr(ctx context.Context, table, key string,
	values map[string]map[string][]byte, options ...func(Call) error) (*Mutate, error)

NewIncStr is just like NewInc but takes table and key as strings.

func NewIncStrSingle

func NewIncStrSingle(ctx context.Context, table, key, family, qualifier string,
	amount int64, options ...func(Call) error) (*Mutate, error)

NewIncStrSingle is just like NewIncSingle but takes table and key as strings.

func NewPut

func NewPut(ctx context.Context, table, key []byte,
	values map[string]map[string][]byte, options ...func(Call) error) (*Mutate, error)

NewPut creates a new Mutation request to insert the given family-column-values in the given row key of the given table.

func NewPutStr

func NewPutStr(ctx context.Context, table, key string,
	values map[string]map[string][]byte, options ...func(Call) error) (*Mutate, error)

NewPutStr is just like NewPut but takes table and key as strings.

func (*Mutate) CellBlocksEnabled

func (m *Mutate) CellBlocksEnabled() bool

func (*Mutate) Context

func (b *Mutate) Context() context.Context

func (*Mutate) DeserializeCellBlocks

func (m *Mutate) DeserializeCellBlocks(pm proto.Message, b []byte) (uint32, error)

DeserializeCellBlocks deserializes mutate result from cell blocks

func (*Mutate) Key

func (b *Mutate) Key() []byte

func (*Mutate) Name

func (m *Mutate) Name() string

Name returns the name of this RPC call.

func (*Mutate) NewResponse

func (m *Mutate) NewResponse() proto.Message

NewResponse creates an empty protobuf message to read the response of this RPC.

func (*Mutate) Options

func (b *Mutate) Options() []func(Call) error

Options returns all the options passed to this call

func (*Mutate) Region

func (b *Mutate) Region() RegionInfo

func (*Mutate) ResultChan

func (b *Mutate) ResultChan() chan RPCResult

func (*Mutate) SerializeCellBlocks

func (m *Mutate) SerializeCellBlocks() (proto.Message, [][]byte, uint32)

func (*Mutate) SetRegion

func (b *Mutate) SetRegion(region RegionInfo)

func (*Mutate) SkipBatch

func (m *Mutate) SkipBatch() bool

SkipBatch returns true if the Mutate request shouldn't be batched, but should be sent to Region Server right away.

func (*Mutate) Table

func (b *Mutate) Table() []byte

func (*Mutate) ToProto

func (m *Mutate) ToProto() proto.Message

ToProto converts this mutate RPC into a protobuf message

func (*Mutate) Values

func (m *Mutate) Values() map[string]map[string][]byte

Values returns the internal values object which should be treated as read-only. This would typically be used for calculations related to metrics and workloads

type RPCResult

type RPCResult struct {
	Msg   proto.Message
	Error error
}

RPCResult is struct that will contain both the resulting message from an RPC call, and any errors that may have occurred related to making the RPC call.

type RegionClient

type RegionClient interface {
	// Dial connects and bootstraps region client. Only the first caller to Dial gets to
	// actually connect, other concurrent callers will block until connected or an error.
	Dial(context.Context) error
	Close()
	Addr() string
	QueueRPC(Call)
	String() string
}

RegionClient represents HBase region client.

type RegionInfo

type RegionInfo interface {
	IsUnavailable() bool
	AvailabilityChan() <-chan struct{}
	MarkUnavailable() bool
	MarkAvailable()
	MarkDead()
	Context() context.Context
	String() string
	ID() uint64
	Name() []byte
	StartKey() []byte
	StopKey() []byte
	Namespace() []byte
	Table() []byte
	SetClient(RegionClient)
	Client() RegionClient
}

RegionInfo represents HBase region.

type RestoreSnapshot

type RestoreSnapshot struct {
	*Snapshot
}

RestoreSnapshot represents a RestoreSnapshot HBase call.

func NewRestoreSnapshot

func NewRestoreSnapshot(t *Snapshot) *RestoreSnapshot

NewRestoreSnapshot creates a new RestoreSnapshot request that will delete the given snapshot.

func (RestoreSnapshot) Context

func (b RestoreSnapshot) Context() context.Context

func (RestoreSnapshot) Key

func (b RestoreSnapshot) Key() []byte

func (*RestoreSnapshot) Name

func (sr *RestoreSnapshot) Name() string

Name returns the name of this RPC call.

func (*RestoreSnapshot) NewResponse

func (sr *RestoreSnapshot) NewResponse() proto.Message

NewResponse creates an empty protobuf message to read the response of this RPC.

func (RestoreSnapshot) Options

func (b RestoreSnapshot) Options() []func(Call) error

Options returns all the options passed to this call

func (RestoreSnapshot) Owner

func (s RestoreSnapshot) Owner(o string)

func (RestoreSnapshot) Region

func (b RestoreSnapshot) Region() RegionInfo

func (RestoreSnapshot) ResultChan

func (b RestoreSnapshot) ResultChan() chan RPCResult

func (RestoreSnapshot) SetRegion

func (b RestoreSnapshot) SetRegion(region RegionInfo)

func (RestoreSnapshot) Table

func (b RestoreSnapshot) Table() []byte

func (RestoreSnapshot) Type

func (s RestoreSnapshot) Type(t pb.SnapshotDescription_Type)

func (RestoreSnapshot) Version

func (s RestoreSnapshot) Version(v int32)

type RestoreSnapshotDone

type RestoreSnapshotDone struct {
	*Snapshot
}

RestoreSnapshotDone represents an IsRestoreSnapshotDone HBase call.

func NewRestoreSnapshotDone

func NewRestoreSnapshotDone(t *Snapshot) *RestoreSnapshotDone

NewRestoreSnapshotDone creates a new RestoreSnapshotDone request that will check if the given snapshot has been complete.

func (RestoreSnapshotDone) Context

func (b RestoreSnapshotDone) Context() context.Context

func (RestoreSnapshotDone) Key

func (b RestoreSnapshotDone) Key() []byte

func (*RestoreSnapshotDone) Name

func (sr *RestoreSnapshotDone) Name() string

Name returns the name of this RPC call.

func (*RestoreSnapshotDone) NewResponse

func (sr *RestoreSnapshotDone) NewResponse() proto.Message

NewResponse creates an empty protobuf message to read the response of this RPC.

func (RestoreSnapshotDone) Options

func (b RestoreSnapshotDone) Options() []func(Call) error

Options returns all the options passed to this call

func (RestoreSnapshotDone) Owner

func (s RestoreSnapshotDone) Owner(o string)

func (RestoreSnapshotDone) Region

func (b RestoreSnapshotDone) Region() RegionInfo

func (RestoreSnapshotDone) ResultChan

func (b RestoreSnapshotDone) ResultChan() chan RPCResult

func (RestoreSnapshotDone) SetRegion

func (b RestoreSnapshotDone) SetRegion(region RegionInfo)

func (RestoreSnapshotDone) Table

func (b RestoreSnapshotDone) Table() []byte

func (RestoreSnapshotDone) Type

func (s RestoreSnapshotDone) Type(t pb.SnapshotDescription_Type)

func (RestoreSnapshotDone) Version

func (s RestoreSnapshotDone) Version(v int32)

type Result

type Result struct {
	Cells   []*Cell
	Stale   bool
	Partial bool
	// Exists is only set if existance_only was set in the request query.
	Exists *bool
}

Result holds a slice of Cells as well as miscellaneous information about the response.

func ToLocalResult

func ToLocalResult(pbr *pb.Result) *Result

ToLocalResult takes a protobuf Result type and converts it to our own Result type in constant time.

func (*Result) String

func (c *Result) String() string

type Scan

type Scan struct {
	// contains filtered or unexported fields
}

Scan represents a scanner on an HBase table.

func NewScan

func NewScan(ctx context.Context, table []byte, options ...func(Call) error) (*Scan, error)

NewScan creates a scanner for the given table.

func NewScanRange

func NewScanRange(ctx context.Context, table, startRow, stopRow []byte,
	options ...func(Call) error) (*Scan, error)

NewScanRange creates a scanner for the given table and key range. The range is half-open, i.e. [startRow; stopRow[ -- stopRow is not included in the range.

func NewScanRangeStr

func NewScanRangeStr(ctx context.Context, table, startRow, stopRow string,
	options ...func(Call) error) (*Scan, error)

NewScanRangeStr creates a scanner for the given table and key range. The range is half-open, i.e. [startRow; stopRow[ -- stopRow is not included in the range.

func NewScanStr

func NewScanStr(ctx context.Context, table string, options ...func(Call) error) (*Scan, error)

NewScanStr creates a scanner for the given table.

func (*Scan) AllowPartialResults

func (s *Scan) AllowPartialResults() bool

AllowPartialResults returns true if client handles partials.

func (*Scan) Context

func (b *Scan) Context() context.Context

func (*Scan) DeserializeCellBlocks

func (s *Scan) DeserializeCellBlocks(m proto.Message, b []byte) (uint32, error)

DeserializeCellBlocks deserializes scan results from cell blocks

func (*Scan) IsClosing

func (s *Scan) IsClosing() bool

IsClosing returns whether this scan closes scanner prematurely

func (*Scan) Key

func (b *Scan) Key() []byte

func (*Scan) Name

func (s *Scan) Name() string

Name returns the name of this RPC call.

func (*Scan) NewResponse

func (s *Scan) NewResponse() proto.Message

NewResponse creates an empty protobuf message to read the response of this RPC.

func (*Scan) NumberOfRows

func (s *Scan) NumberOfRows() uint32

NumberOfRows returns how many rows this scan fetches from regionserver in a single response.

func (*Scan) Options

func (b *Scan) Options() []func(Call) error

Options returns all the options passed to this call

func (*Scan) Region

func (b *Scan) Region() RegionInfo

func (*Scan) ResultChan

func (b *Scan) ResultChan() chan RPCResult

func (*Scan) Reversed

func (s *Scan) Reversed() bool

Reversed returns true if scanner scans in reverse.

func (*Scan) SetRegion

func (b *Scan) SetRegion(region RegionInfo)

func (*Scan) StartRow

func (s *Scan) StartRow() []byte

StartRow returns the start key (inclusive) of this scanner.

func (*Scan) StopRow

func (s *Scan) StopRow() []byte

StopRow returns the end key (exclusive) of this scanner.

func (*Scan) String

func (s *Scan) String() string

func (*Scan) Table

func (b *Scan) Table() []byte

func (*Scan) ToProto

func (s *Scan) ToProto() proto.Message

ToProto converts this Scan into a protobuf message

type Scanner

type Scanner interface {
	// Next returns a row at a time.
	// Once all rows are returned, subsequent calls will return io.EOF error.
	//
	// In case of an error, only the first call to Next() will return partial
	// result (could be not a complete row) and the actual error,
	// the subsequent calls will return io.EOF error.
	Next() (*Result, error)

	// Close should be called if it is desired to stop scanning before getting all of results.
	// If you call Next() after calling Close() you might still get buffered results.
	// Othwerwise, in case all results have been delivered or in case of an error, the Scanner
	// will be closed automatically. It's okay to close an already closed scanner.
	Close() error
}

Scanner is used to read data sequentially from HBase. Scanner will be automatically closed if there's no more data to read, otherwise Close method should be called.

type SetBalancer

type SetBalancer struct {
	// contains filtered or unexported fields
}

SetBalancer allows to enable or disable balancer

func NewSetBalancer

func NewSetBalancer(ctx context.Context, enabled bool) (*SetBalancer, error)

NewListTableNames creates a new SetBalancer request that will set balancer state.

func (*SetBalancer) Context

func (b *SetBalancer) Context() context.Context

func (*SetBalancer) Key

func (b *SetBalancer) Key() []byte

func (*SetBalancer) Name

func (sb *SetBalancer) Name() string

Name returns the name of this RPC call.

func (*SetBalancer) NewResponse

func (sb *SetBalancer) NewResponse() proto.Message

NewResponse creates an empty protobuf message to read the response of this RPC.

func (*SetBalancer) Options

func (b *SetBalancer) Options() []func(Call) error

Options returns all the options passed to this call

func (*SetBalancer) Region

func (b *SetBalancer) Region() RegionInfo

func (*SetBalancer) ResultChan

func (b *SetBalancer) ResultChan() chan RPCResult

func (*SetBalancer) SetRegion

func (b *SetBalancer) SetRegion(region RegionInfo)

func (*SetBalancer) Table

func (b *SetBalancer) Table() []byte

func (*SetBalancer) ToProto

func (sb *SetBalancer) ToProto() proto.Message

ToProto converts the RPC into a protobuf message.

type Snapshot

type Snapshot struct {
	// contains filtered or unexported fields
}

Snapshot represents a Snapshot HBase call

func NewSnapshot

func NewSnapshot(ctx context.Context, name string, table string,
	opts ...func(Call) error) (*Snapshot, error)

NewSnapshot creates a new Snapshot request that will request a new snapshot in HBase.

func (*Snapshot) Context

func (b *Snapshot) Context() context.Context

func (*Snapshot) Key

func (b *Snapshot) Key() []byte

func (*Snapshot) Name

func (sr *Snapshot) Name() string

Name returns the name of this RPC call.

func (*Snapshot) NewResponse

func (sr *Snapshot) NewResponse() proto.Message

NewResponse creates an empty protobuf message to read the response of this RPC.

func (*Snapshot) Options

func (b *Snapshot) Options() []func(Call) error

Options returns all the options passed to this call

func (*Snapshot) Owner

func (s *Snapshot) Owner(o string)

func (*Snapshot) Region

func (b *Snapshot) Region() RegionInfo

func (*Snapshot) ResultChan

func (b *Snapshot) ResultChan() chan RPCResult

func (*Snapshot) SetRegion

func (b *Snapshot) SetRegion(region RegionInfo)

func (*Snapshot) Table

func (b *Snapshot) Table() []byte

func (*Snapshot) ToProto

func (sr *Snapshot) ToProto() proto.Message

ToProto converts the RPC into a protobuf message.

func (*Snapshot) Type

func (s *Snapshot) Type(t pb.SnapshotDescription_Type)

func (*Snapshot) Version

func (s *Snapshot) Version(v int32)

type SnapshotDone

type SnapshotDone struct {
	*Snapshot
}

SnapshotDone represents an IsSnapshotDone HBase call.

func NewSnapshotDone

func NewSnapshotDone(t *Snapshot) *SnapshotDone

NewSnapshotDone creates a new SnapshotDone request that will check if the given snapshot has been complete.

func (SnapshotDone) Context

func (b SnapshotDone) Context() context.Context

func (SnapshotDone) Key

func (b SnapshotDone) Key() []byte

func (*SnapshotDone) Name

func (sr *SnapshotDone) Name() string

Name returns the name of this RPC call.

func (*SnapshotDone) NewResponse

func (sr *SnapshotDone) NewResponse() proto.Message

NewResponse creates an empty protobuf message to read the response of this RPC.

func (SnapshotDone) Options

func (b SnapshotDone) Options() []func(Call) error

Options returns all the options passed to this call

func (SnapshotDone) Owner

func (s SnapshotDone) Owner(o string)

func (SnapshotDone) Region

func (b SnapshotDone) Region() RegionInfo

func (SnapshotDone) ResultChan

func (b SnapshotDone) ResultChan() chan RPCResult

func (SnapshotDone) SetRegion

func (b SnapshotDone) SetRegion(region RegionInfo)

func (SnapshotDone) Table

func (b SnapshotDone) Table() []byte

func (SnapshotDone) Type

func (s SnapshotDone) Type(t pb.SnapshotDescription_Type)

func (SnapshotDone) Version

func (s SnapshotDone) Version(v int32)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL