Documentation
¶
Index ¶
- Constants
- Variables
- type Client
- type ClientType
- type Region
- func (r *Region) Available() bool
- func (r *Region) Client() *Client
- func (r *Region) Connect(ctx context.Context, host string, port uint16) *Client
- func (r *Region) Find(key []byte) *Region
- func (r *Region) Lock()
- func (r *Region) MarkUnavailable() *Client
- func (r *Region) Name() []byte
- func (r *Region) SetClient(client *Client)
- func (r *Region) SetName(name []byte)
- func (r *Region) Split(fetched *Region)
- func (r *Region) StartKey() []byte
- func (r *Region) StopKey() []byte
- func (r *Region) String() string
- func (r *Region) Table() []byte
- func (r *Region) Unlock()
- type RetryableError
- type UnrecoverableError
Constants ¶
const ( // RegionClient is a ClientType that means this will be a normal client RegionClient = ClientType("ClientService") // MasterClient is a ClientType that means this client will talk to the // master server MasterClient = ClientType("MasterService") )
Variables ¶
var ( // ErrShortWrite is used when the writer thread only succeeds in writing // part of its buffer to the socket, and not all of the buffer was sent ErrShortWrite = errors.New("Short write occurred while writing to socket") // ErrMissingCallID is used when HBase sends us a response message for a // request that we didn't send ErrMissingCallID = errors.New("Got a response with a nonsensical call ID") // ErrClientClosed is returned to rpcs when Close() is called ErrClientClosed = errors.New("Client closed") // queue size of region client QUEUE_SIZE = 100 // timeout before flushing the queue in region client FLUSH_INTERVAL = 20 * time.Millisecond )
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
client manages a connection to a RegionServer.
func NewClient ¶
func NewClient(ctx context.Context, host string, port uint16, ctype ClientType, queueSize int, flushInterval time.Duration) (*Client, error)
NewClient creates a new RegionClient.
func (*Client) ClientDown ¶
func (c *Client) ClientDown()
func (*Client) Close ¶
func (c *Client) Close()
Close asks this region.Client to close its connection to the RegionServer. All queued and outstanding RPCs, if any, will be failed as if a connection error had happened.
func (*Client) QueueRPC ¶
QueueRPC will add an rpc call to the queue for processing by the writer goroutine
func (*Client) RemoveRegion ¶
type ClientType ¶
type ClientType string
ClientType is a type alias to represent the type of this region client
type Region ¶
type Region struct {
// contains filtered or unexported fields
}
func ParseRegionInfo ¶
ParseRegionInfo parses the contents of a row from the meta table. It's guaranteed to return a region info and a host/port OR return an error.
func (*Region) MarkUnavailable ¶
type RetryableError ¶
type RetryableError struct {
// contains filtered or unexported fields
}
RetryableError is an error that indicates the RPC should be retried because the error is transient (e.g. a region being momentarily unavailable).
func (RetryableError) Error ¶
func (e RetryableError) Error() string
type UnrecoverableError ¶
type UnrecoverableError struct {
// contains filtered or unexported fields
}
UnrecoverableError is an error that this region.Client can't recover from. The connection to the RegionServer has to be closed and all queued and outstanding RPCs will be failed / retried.
func (UnrecoverableError) Error ¶
func (e UnrecoverableError) Error() string