Documentation
¶
Overview ¶
Code generated by "generator -i=admin.csv > admin_rpc_types.go"; DO NOT EDIT.
Code generated by "generator -i=radmin.csv > radmin_rpc_types.go"; DO NOT EDIT.
Index ¶
- func RegisterRPCResultHandler(responseAck string, handler func() RpcResponseResult)
- func ResolveMetaAddr(addrs []string) ([]string, error)
- type MarshalFunc
- type MetaManager
- func (m *MetaManager) AddDuplication(ctx context.Context, req *admin.DuplicationAddRequest) (*admin.DuplicationAddResponse, error)
- func (m *MetaManager) Balance(ctx context.Context, req *admin.BalanceRequest) (*admin.BalanceResponse, error)
- func (m *MetaManager) ClearBulkLoad(ctx context.Context, req *admin.ClearBulkLoadStateRequest) (*admin.ClearBulkLoadStateResponse, error)
- func (m *MetaManager) Close() error
- func (m *MetaManager) ControlBulkLoad(ctx context.Context, req *admin.ControlBulkLoadRequest) (*admin.ControlBulkLoadResponse, error)
- func (m *MetaManager) ControlPartitionSplit(ctx context.Context, req *admin.ControlSplitRequest) (*admin.ControlSplitResponse, error)
- func (m *MetaManager) CreateApp(ctx context.Context, req *admin.CreateAppRequest) (*admin.CreateAppResponse, error)
- func (m *MetaManager) DropApp(ctx context.Context, req *admin.DropAppRequest) (*admin.DropAppResponse, error)
- func (m *MetaManager) ListApps(ctx context.Context, req *admin.ListAppsRequest) (*admin.ListAppsResponse, error)
- func (m *MetaManager) ListNodes(ctx context.Context, req *admin.ListNodesRequest) (*admin.ListNodesResponse, error)
- func (m *MetaManager) MetaControl(ctx context.Context, req *admin.MetaControlRequest) (*admin.MetaControlResponse, error)
- func (m *MetaManager) ModifyDuplication(ctx context.Context, req *admin.DuplicationModifyRequest) (*admin.DuplicationModifyResponse, error)
- func (m *MetaManager) QueryAppInfo(ctx context.Context, req *admin.QueryAppInfoRequest) (*admin.QueryAppInfoResponse, error)
- func (m *MetaManager) QueryBackupPolicy(ctx context.Context, req *admin.QueryBackupPolicyRequest) (*admin.QueryBackupPolicyResponse, error)
- func (m *MetaManager) QueryBackupStatus(ctx context.Context, req *admin.QueryBackupStatusRequest) (*admin.QueryBackupStatusResponse, error)
- func (m *MetaManager) QueryBulkLoadStatus(ctx context.Context, req *admin.QueryBulkLoadRequest) (*admin.QueryBulkLoadResponse, error)
- func (m *MetaManager) QueryClusterInfo(ctx context.Context, req *admin.ClusterInfoRequest) (*admin.ClusterInfoResponse, error)
- func (m *MetaManager) QueryConfig(ctx context.Context, tableName string) (*replication.QueryCfgResponse, error)
- func (m *MetaManager) QueryDuplication(ctx context.Context, req *admin.DuplicationQueryRequest) (*admin.DuplicationQueryResponse, error)
- func (m *MetaManager) QueryManualCompact(ctx context.Context, req *admin.QueryAppManualCompactRequest) (*admin.QueryAppManualCompactResponse, error)
- func (m *MetaManager) QuerySplitStatus(ctx context.Context, req *admin.QuerySplitRequest) (*admin.QuerySplitResponse, error)
- func (m *MetaManager) RecallApp(ctx context.Context, req *admin.RecallAppRequest) (*admin.RecallAppResponse, error)
- func (m *MetaManager) RestoreApp(ctx context.Context, req *admin.RestoreAppRequest) (*admin.CreateAppResponse, error)
- func (m *MetaManager) StartBackupApp(ctx context.Context, req *admin.StartBackupAppRequest) (*admin.StartBackupAppResponse, error)
- func (m *MetaManager) StartBulkLoad(ctx context.Context, req *admin.StartBulkLoadRequest) (*admin.StartBulkLoadResponse, error)
- func (m *MetaManager) StartManualCompact(ctx context.Context, req *admin.StartAppManualCompactRequest) (*admin.StartAppManualCompactResponse, error)
- func (m *MetaManager) StartPartitionSplit(ctx context.Context, req *admin.StartPartitionSplitRequest) (*admin.StartPartitionSplitResponse, error)
- func (m *MetaManager) UpdateAppEnv(ctx context.Context, req *admin.UpdateAppEnvRequest) (*admin.UpdateAppEnvResponse, error)
- type MockCodec
- type NodeSession
- type NodeSessionCreator
- type NodeType
- type PegasusCodec
- type PegasusRpcCall
- type ReplicaManager
- type ReplicaSession
- func (rs *ReplicaSession) AddDisk(ctx context.Context, req *radmin.AddNewDiskRequest) (*radmin.AddNewDiskResponse, error)
- func (rs *ReplicaSession) CheckAndSet(ctx context.Context, gpid *base.Gpid, partitionHash uint64, ...) (*rrdb.CheckAndSetResponse, error)
- func (rs *ReplicaSession) ClearScanner(ctx context.Context, gpid *base.Gpid, partitionHash uint64, contextId int64) error
- func (rs *ReplicaSession) Del(ctx context.Context, gpid *base.Gpid, partitionHash uint64, key *base.Blob) (*rrdb.UpdateResponse, error)
- func (rs *ReplicaSession) DiskMigrate(ctx context.Context, req *radmin.ReplicaDiskMigrateRequest) (*radmin.ReplicaDiskMigrateResponse, error)
- func (rs *ReplicaSession) Get(ctx context.Context, gpid *base.Gpid, partitionHash uint64, key *base.Blob) (*rrdb.ReadResponse, error)
- func (rs *ReplicaSession) GetScanner(ctx context.Context, gpid *base.Gpid, partitionHash uint64, ...) (*rrdb.ScanResponse, error)
- func (rs *ReplicaSession) Incr(ctx context.Context, gpid *base.Gpid, partitionHash uint64, ...) (*rrdb.IncrResponse, error)
- func (rs *ReplicaSession) MultiDelete(ctx context.Context, gpid *base.Gpid, partitionHash uint64, ...) (*rrdb.MultiRemoveResponse, error)
- func (rs *ReplicaSession) MultiGet(ctx context.Context, gpid *base.Gpid, partitionHash uint64, ...) (*rrdb.MultiGetResponse, error)
- func (rs *ReplicaSession) MultiSet(ctx context.Context, gpid *base.Gpid, partitionHash uint64, ...) (*rrdb.UpdateResponse, error)
- func (rs *ReplicaSession) Put(ctx context.Context, gpid *base.Gpid, partitionHash uint64, ...) (*rrdb.UpdateResponse, error)
- func (rs *ReplicaSession) QueryDiskInfo(ctx context.Context, req *radmin.QueryDiskInfoRequest) (*radmin.QueryDiskInfoResponse, error)
- func (rs *ReplicaSession) Scan(ctx context.Context, gpid *base.Gpid, partitionHash uint64, ...) (*rrdb.ScanResponse, error)
- func (rs *ReplicaSession) SortKeyCount(ctx context.Context, gpid *base.Gpid, partitionHash uint64, hashKey *base.Blob) (*rrdb.CountResponse, error)
- func (rs *ReplicaSession) TTL(ctx context.Context, gpid *base.Gpid, partitionHash uint64, key *base.Blob) (*rrdb.TTLResponse, error)
- type RpcRequestArgs
- type RpcResponseResult
- type UnmarshalFunc
- type UnresponsiveHandler
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterRPCResultHandler ¶
func RegisterRPCResultHandler(responseAck string, handler func() RpcResponseResult)
RegisterRPCResultHandler registers an external RPC that's not including in pegasus-go-client.
The following example registers an response handler for Pegasus's remote-command RPC. Usage:
```go
RegisterRpcResultHandler("RPC_CLI_CLI_CALL_ACK", func() RpcResponseResult { return &RemoteCmdServiceCallCommandResult{Success: new(string)} })
```
func ResolveMetaAddr ¶
ResolveMetaAddr into a list of TCP4 addresses. Error is returned if the given `addrs` are not either a list of valid TCP4 addresses, or a resolvable hostname.
Types ¶
type MarshalFunc ¶
type MetaManager ¶
type MetaManager struct {
// contains filtered or unexported fields
}
MetaManager manages the list of metas, but only the leader will it request to. If the one is not the actual leader, it will retry with another.
func NewMetaManager ¶
func NewMetaManager(addrs []string, creator NodeSessionCreator) *MetaManager
func (*MetaManager) AddDuplication ¶
func (m *MetaManager) AddDuplication(ctx context.Context, req *admin.DuplicationAddRequest) (*admin.DuplicationAddResponse, error)
AddDuplication is auto-generated
func (*MetaManager) Balance ¶
func (m *MetaManager) Balance(ctx context.Context, req *admin.BalanceRequest) (*admin.BalanceResponse, error)
Balance is auto-generated
func (*MetaManager) ClearBulkLoad ¶
func (m *MetaManager) ClearBulkLoad(ctx context.Context, req *admin.ClearBulkLoadStateRequest) (*admin.ClearBulkLoadStateResponse, error)
ClearBulkLoad is auto-generated
func (*MetaManager) ControlBulkLoad ¶
func (m *MetaManager) ControlBulkLoad(ctx context.Context, req *admin.ControlBulkLoadRequest) (*admin.ControlBulkLoadResponse, error)
ControlBulkLoad is auto-generated
func (*MetaManager) ControlPartitionSplit ¶
func (m *MetaManager) ControlPartitionSplit(ctx context.Context, req *admin.ControlSplitRequest) (*admin.ControlSplitResponse, error)
ControlPartitionSplit is auto-generated
func (*MetaManager) CreateApp ¶
func (m *MetaManager) CreateApp(ctx context.Context, req *admin.CreateAppRequest) (*admin.CreateAppResponse, error)
CreateApp is auto-generated
func (*MetaManager) DropApp ¶
func (m *MetaManager) DropApp(ctx context.Context, req *admin.DropAppRequest) (*admin.DropAppResponse, error)
DropApp is auto-generated
func (*MetaManager) ListApps ¶
func (m *MetaManager) ListApps(ctx context.Context, req *admin.ListAppsRequest) (*admin.ListAppsResponse, error)
ListApps is auto-generated
func (*MetaManager) ListNodes ¶
func (m *MetaManager) ListNodes(ctx context.Context, req *admin.ListNodesRequest) (*admin.ListNodesResponse, error)
ListNodes is auto-generated
func (*MetaManager) MetaControl ¶
func (m *MetaManager) MetaControl(ctx context.Context, req *admin.MetaControlRequest) (*admin.MetaControlResponse, error)
MetaControl is auto-generated
func (*MetaManager) ModifyDuplication ¶
func (m *MetaManager) ModifyDuplication(ctx context.Context, req *admin.DuplicationModifyRequest) (*admin.DuplicationModifyResponse, error)
ModifyDuplication is auto-generated
func (*MetaManager) QueryAppInfo ¶
func (m *MetaManager) QueryAppInfo(ctx context.Context, req *admin.QueryAppInfoRequest) (*admin.QueryAppInfoResponse, error)
QueryAppInfo is auto-generated
func (*MetaManager) QueryBackupPolicy ¶
func (m *MetaManager) QueryBackupPolicy(ctx context.Context, req *admin.QueryBackupPolicyRequest) (*admin.QueryBackupPolicyResponse, error)
QueryBackupPolicy is auto-generated
func (*MetaManager) QueryBackupStatus ¶
func (m *MetaManager) QueryBackupStatus(ctx context.Context, req *admin.QueryBackupStatusRequest) (*admin.QueryBackupStatusResponse, error)
QueryBackupStatus is auto-generated
func (*MetaManager) QueryBulkLoadStatus ¶
func (m *MetaManager) QueryBulkLoadStatus(ctx context.Context, req *admin.QueryBulkLoadRequest) (*admin.QueryBulkLoadResponse, error)
QueryBulkLoadStatus is auto-generated
func (*MetaManager) QueryClusterInfo ¶
func (m *MetaManager) QueryClusterInfo(ctx context.Context, req *admin.ClusterInfoRequest) (*admin.ClusterInfoResponse, error)
QueryClusterInfo is auto-generated
func (*MetaManager) QueryConfig ¶
func (m *MetaManager) QueryConfig(ctx context.Context, tableName string) (*replication.QueryCfgResponse, error)
QueryConfig queries table configuration from the leader of meta servers. If the leader was changed, it retries for other servers until it finds the true leader, unless no leader exists. Thread-Safe
func (*MetaManager) QueryDuplication ¶
func (m *MetaManager) QueryDuplication(ctx context.Context, req *admin.DuplicationQueryRequest) (*admin.DuplicationQueryResponse, error)
QueryDuplication is auto-generated
func (*MetaManager) QueryManualCompact ¶
func (m *MetaManager) QueryManualCompact(ctx context.Context, req *admin.QueryAppManualCompactRequest) (*admin.QueryAppManualCompactResponse, error)
QueryManualCompact is auto-generated
func (*MetaManager) QuerySplitStatus ¶
func (m *MetaManager) QuerySplitStatus(ctx context.Context, req *admin.QuerySplitRequest) (*admin.QuerySplitResponse, error)
QuerySplitStatus is auto-generated
func (*MetaManager) RecallApp ¶
func (m *MetaManager) RecallApp(ctx context.Context, req *admin.RecallAppRequest) (*admin.RecallAppResponse, error)
RecallApp is auto-generated
func (*MetaManager) RestoreApp ¶
func (m *MetaManager) RestoreApp(ctx context.Context, req *admin.RestoreAppRequest) (*admin.CreateAppResponse, error)
RestoreApp is auto-generated
func (*MetaManager) StartBackupApp ¶
func (m *MetaManager) StartBackupApp(ctx context.Context, req *admin.StartBackupAppRequest) (*admin.StartBackupAppResponse, error)
StartBackupApp is auto-generated
func (*MetaManager) StartBulkLoad ¶
func (m *MetaManager) StartBulkLoad(ctx context.Context, req *admin.StartBulkLoadRequest) (*admin.StartBulkLoadResponse, error)
StartBulkLoad is auto-generated
func (*MetaManager) StartManualCompact ¶
func (m *MetaManager) StartManualCompact(ctx context.Context, req *admin.StartAppManualCompactRequest) (*admin.StartAppManualCompactResponse, error)
StartManualCompact is auto-generated
func (*MetaManager) StartPartitionSplit ¶
func (m *MetaManager) StartPartitionSplit(ctx context.Context, req *admin.StartPartitionSplitRequest) (*admin.StartPartitionSplitResponse, error)
StartPartitionSplit is auto-generated
func (*MetaManager) UpdateAppEnv ¶
func (m *MetaManager) UpdateAppEnv(ctx context.Context, req *admin.UpdateAppEnvRequest) (*admin.UpdateAppEnvResponse, error)
UpdateAppEnv is auto-generated
type MockCodec ¶
type MockCodec struct {
// contains filtered or unexported fields
}
MockCodec is only used for testing. By default it does nothing on marshalling and unmarshalling, thus it returns no error even if the input was ill-formed.
func (*MockCodec) MockMarshal ¶
func (p *MockCodec) MockMarshal(marshal MarshalFunc)
func (*MockCodec) MockUnMarshal ¶
func (p *MockCodec) MockUnMarshal(unmarshal UnmarshalFunc)
type NodeSession ¶
type NodeSession interface { String() string // Invoke an rpc call. CallWithGpid(ctx context.Context, gpid *base.Gpid, partitionHash uint64, args RpcRequestArgs, name string) (result RpcResponseResult, err error) // Get connection state. ConnState() rpc.ConnState Close() error }
NodeSession represents the network session to a node (either a meta server or a replica server). It encapsulates the internal rpc processing, including network communication and message (de)serialization.
func NewNodeSession ¶
func NewNodeSession(addr string, ntype NodeType) NodeSession
NewNodeSession always returns a non-nil value even when the connection attempt failed. Each nodeSession corresponds to an RpcConn.
type NodeSessionCreator ¶
type NodeSessionCreator func(string, NodeType) NodeSession
NodeSessionCreator creates an instance of NodeSession, receiving argument `string` as host address, `NodeType` as the type of the node.
type NodeType ¶
type NodeType string
NodeType represents the type of the NodeSession.
const ( // NodeTypeMeta indicates it's a session to MetaServer. NodeTypeMeta NodeType = "meta" // NodeTypeReplica indicates it's a session to ReplicaServer. NodeTypeReplica NodeType = "replica" // LatencyTracingThreshold means RPC's latency higher than the threshold (1000ms) will be traced LatencyTracingThreshold = time.Millisecond * 1000 )
type PegasusCodec ¶
type PegasusCodec struct {
// contains filtered or unexported fields
}
func NewPegasusCodec ¶
func NewPegasusCodec() *PegasusCodec
func (*PegasusCodec) Marshal ¶
func (p *PegasusCodec) Marshal(v interface{}) ([]byte, error)
func (*PegasusCodec) String ¶
func (p *PegasusCodec) String() string
func (*PegasusCodec) Unmarshal ¶
func (p *PegasusCodec) Unmarshal(data []byte, v interface{}) error
type PegasusRpcCall ¶
type PegasusRpcCall struct { Args RpcRequestArgs Result RpcResponseResult Name string // the rpc's name SeqId int32 Gpid *base.Gpid RawReq []byte // the marshalled request in bytes Err error // hooks on each stage during rpc processing OnRpcCall time.Time OnRpcSend time.Time OnRpcRecv time.Time // contains filtered or unexported fields }
func MarshallPegasusRpc ¶
func ReadRpcResponse ¶
func (*PegasusRpcCall) TilNow ¶
func (call *PegasusRpcCall) TilNow() time.Duration
func (*PegasusRpcCall) Trace ¶
func (call *PegasusRpcCall) Trace() string
type ReplicaManager ¶
ReplicaManager manages the pool of sessions to replica servers, so that different tables that locate on the same replica server can share one ReplicaSession, without the effort of creating a new connection.
func NewReplicaManager ¶
func NewReplicaManager(creator NodeSessionCreator) *ReplicaManager
func (*ReplicaManager) Close ¶
func (rm *ReplicaManager) Close() error
func (*ReplicaManager) GetReplica ¶
func (rm *ReplicaManager) GetReplica(addr string) *ReplicaSession
Create a new session to the replica server if no existing one.
func (*ReplicaManager) ReplicaCount ¶
func (rm *ReplicaManager) ReplicaCount() int
func (*ReplicaManager) SetUnresponsiveHandler ¶
func (rm *ReplicaManager) SetUnresponsiveHandler(handler UnresponsiveHandler)
SetUnresponsiveHandler inits the UnresponsiveHandler.
type ReplicaSession ¶
type ReplicaSession struct {
NodeSession
}
ReplicaSession represents the network session between client and replica server.
func (*ReplicaSession) AddDisk ¶
func (rs *ReplicaSession) AddDisk(ctx context.Context, req *radmin.AddNewDiskRequest) (*radmin.AddNewDiskResponse, error)
AddDisk is auto-generated
func (*ReplicaSession) CheckAndSet ¶
func (rs *ReplicaSession) CheckAndSet(ctx context.Context, gpid *base.Gpid, partitionHash uint64, request *rrdb.CheckAndSetRequest) (*rrdb.CheckAndSetResponse, error)
func (*ReplicaSession) ClearScanner ¶
func (*ReplicaSession) DiskMigrate ¶
func (rs *ReplicaSession) DiskMigrate(ctx context.Context, req *radmin.ReplicaDiskMigrateRequest) (*radmin.ReplicaDiskMigrateResponse, error)
DiskMigrate is auto-generated
func (*ReplicaSession) GetScanner ¶
func (rs *ReplicaSession) GetScanner(ctx context.Context, gpid *base.Gpid, partitionHash uint64, request *rrdb.GetScannerRequest) (*rrdb.ScanResponse, error)
func (*ReplicaSession) Incr ¶
func (rs *ReplicaSession) Incr(ctx context.Context, gpid *base.Gpid, partitionHash uint64, request *rrdb.IncrRequest) (*rrdb.IncrResponse, error)
func (*ReplicaSession) MultiDelete ¶
func (rs *ReplicaSession) MultiDelete(ctx context.Context, gpid *base.Gpid, partitionHash uint64, request *rrdb.MultiRemoveRequest) (*rrdb.MultiRemoveResponse, error)
func (*ReplicaSession) MultiGet ¶
func (rs *ReplicaSession) MultiGet(ctx context.Context, gpid *base.Gpid, partitionHash uint64, request *rrdb.MultiGetRequest) (*rrdb.MultiGetResponse, error)
func (*ReplicaSession) MultiSet ¶
func (rs *ReplicaSession) MultiSet(ctx context.Context, gpid *base.Gpid, partitionHash uint64, request *rrdb.MultiPutRequest) (*rrdb.UpdateResponse, error)
func (*ReplicaSession) Put ¶
func (rs *ReplicaSession) Put(ctx context.Context, gpid *base.Gpid, partitionHash uint64, update *rrdb.UpdateRequest) (*rrdb.UpdateResponse, error)
func (*ReplicaSession) QueryDiskInfo ¶
func (rs *ReplicaSession) QueryDiskInfo(ctx context.Context, req *radmin.QueryDiskInfoRequest) (*radmin.QueryDiskInfoResponse, error)
QueryDiskInfo is auto-generated
func (*ReplicaSession) Scan ¶
func (rs *ReplicaSession) Scan(ctx context.Context, gpid *base.Gpid, partitionHash uint64, request *rrdb.ScanRequest) (*rrdb.ScanResponse, error)
func (*ReplicaSession) SortKeyCount ¶
type RpcRequestArgs ¶
a trait of the thrift-generated argument type (MetaQueryCfgArgs, RrdbPutArgs e.g.)
type RpcResponseResult ¶
a trait of the thrift-generated result type (MetaQueryCfgResult e.g.)
type UnmarshalFunc ¶
type UnresponsiveHandler ¶
type UnresponsiveHandler func(NodeSession)
UnresponsiveHandler is a callback executed when the session is in unresponsive state.