types

package
v0.10.3-0...-843c1f5 Latest Latest
Warning

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

Go to latest
Published: Nov 29, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Component

type Component interface {
	Init() error
	Start() error
	Stop() error
	Register() error
}

Component is the interface all services implement

type DataCoord

type DataCoord interface {
	Component
	datapb.DataCoordServer
}

DataCoord is the interface `datacoord` package implements

type DataCoordClient

type DataCoordClient interface {
	io.Closer
	datapb.DataCoordClient
	indexpb.IndexCoordClient
}

DataCoordClient is the client interface for datacoord server

type DataCoordComponent

type DataCoordComponent interface {
	DataCoord

	RegisterStreamingCoordGRPCService(s *grpc.Server)

	SetAddress(address string)
	// SetEtcdClient set EtcdClient for DataCoord
	// `etcdClient` is a client of etcd
	SetEtcdClient(etcdClient *clientv3.Client)

	// SetTiKVClient set TiKV client for QueryNode
	SetTiKVClient(client *txnkv.Client)

	SetRootCoordClient(rootCoord RootCoordClient)

	// SetDataNodeCreator set DataNode client creator func for DataCoord
	SetDataNodeCreator(func(context.Context, string, int64) (DataNodeClient, error))

	// SetIndexNodeCreator set Index client creator func for DataCoord
	SetIndexNodeCreator(func(context.Context, string, int64) (IndexNodeClient, error))
}

DataCoordComponent defines the interface of DataCoord component.

type DataNode

type DataNode interface {
	Component
	datapb.DataNodeServer
}

DataNode is the interface `datanode` package implements

type DataNodeClient

type DataNodeClient interface {
	io.Closer
	datapb.DataNodeClient
}

DataNodeClient is the client interface for datanode server

type DataNodeComponent

type DataNodeComponent interface {
	DataNode

	// UpdateStateCode updates state code for DataNode
	//  `stateCode` is current statement of this data node, indicating whether it's healthy.
	UpdateStateCode(stateCode commonpb.StateCode)

	// GetStateCode return state code of this data node
	GetStateCode() commonpb.StateCode

	SetAddress(address string)
	GetAddress() string
	GetNodeID() int64

	// SetEtcdClient set etcd client for DataNode
	SetEtcdClient(etcdClient *clientv3.Client)

	// SetRootCoordClient set SetRootCoordClient for DataNode
	// `rootCoord` is a client of root coordinator.
	//
	// Return a generic error in status:
	//     If the rootCoord is nil or the rootCoord has been set before.
	// Return nil in status:
	//     The rootCoord is not nil.
	SetRootCoordClient(rootCoord RootCoordClient) error

	// SetDataCoordClient set DataCoord for DataNode
	// `dataCoord` is a client of data coordinator.
	//
	// Return a generic error in status:
	//     If the dataCoord is nil or the dataCoord has been set before.
	// Return nil in status:
	//     The dataCoord is not nil.
	SetDataCoordClient(dataCoord DataCoordClient) error
}

DataNodeComponent is used by grpc server of DataNode

type IndexNode

type IndexNode interface {
	Component
	workerpb.IndexNodeServer
}

IndexNode is the interface `indexnode` package implements

type IndexNodeClient

type IndexNodeClient interface {
	io.Closer
	workerpb.IndexNodeClient
}

IndexNodeClient is the client interface for indexnode server

type IndexNodeComponent

type IndexNodeComponent interface {
	IndexNode

	SetAddress(address string)
	GetAddress() string
	// SetEtcdClient set etcd client for IndexNodeComponent
	SetEtcdClient(etcdClient *clientv3.Client)

	// UpdateStateCode updates state code for IndexNodeComponent
	//  `stateCode` is current statement of this QueryCoord, indicating whether it's healthy.
	UpdateStateCode(stateCode commonpb.StateCode)
}

IndexNodeComponent is used by grpc server of IndexNode

type Limiter

type Limiter interface {
	Check(dbID int64, collectionIDToPartIDs map[int64][]int64, rt internalpb.RateType, n int) error
	Alloc(ctx context.Context, dbID int64, collectionIDToPartIDs map[int64][]int64, rt internalpb.RateType, n int) error
}

Limiter defines the interface to perform request rate limiting. If Limit function return true, the request will be rejected. Otherwise, the request will pass. Limit also returns limit of limiter.

type ProxyClient

type ProxyClient interface {
	io.Closer
	proxypb.ProxyClient
}

ProxyClient is the client interface for proxy server

type ProxyComponent

type ProxyComponent interface {
	Proxy

	SetAddress(address string)
	GetAddress() string
	// SetEtcdClient set EtcdClient for Proxy
	// `etcdClient` is a client of etcd
	SetEtcdClient(etcdClient *clientv3.Client)

	// SetRootCoordClient set RootCoord for Proxy
	// `rootCoord` is a client of root coordinator.
	SetRootCoordClient(rootCoord RootCoordClient)

	// SetDataCoordClient set DataCoord for Proxy
	// `dataCoord` is a client of data coordinator.
	SetDataCoordClient(dataCoord DataCoordClient)

	// SetQueryCoordClient set QueryCoord for Proxy
	//  `queryCoord` is a client of query coordinator.
	SetQueryCoordClient(queryCoord QueryCoordClient)

	// SetQueryNodeCreator set QueryNode client creator func for Proxy
	SetQueryNodeCreator(func(ctx context.Context, addr string, nodeID int64) (QueryNodeClient, error))

	// GetRateLimiter returns the rateLimiter in Proxy
	GetRateLimiter() (Limiter, error)

	// UpdateStateCode updates state code for Proxy
	//  `stateCode` is current statement of this proxy node, indicating whether it's healthy.
	UpdateStateCode(stateCode commonpb.StateCode)
}

ProxyComponent defines the interface of proxy component.

type QueryCoord

type QueryCoord interface {
	Component
	querypb.QueryCoordServer
}

QueryCoord is the interface `querycoord` package implements

type QueryCoordClient

type QueryCoordClient interface {
	io.Closer
	querypb.QueryCoordClient
}

QueryCoordClient is the client interface for querycoord server

type QueryCoordComponent

type QueryCoordComponent interface {
	QueryCoord

	SetAddress(address string)

	// SetEtcdClient set etcd client for QueryCoord
	SetEtcdClient(etcdClient *clientv3.Client)

	// SetTiKVClient set TiKV client for QueryCoord
	SetTiKVClient(client *txnkv.Client)

	// UpdateStateCode updates state code for QueryCoord
	//  `stateCode` is current statement of this QueryCoord, indicating whether it's healthy.
	UpdateStateCode(stateCode commonpb.StateCode)

	// SetDataCoordClient set SetDataCoordClient for QueryCoord
	// `dataCoord` is a client of data coordinator.
	//
	// Return a generic error in status:
	//     If the dataCoord is nil.
	// Return nil in status:
	//     The dataCoord is not nil.
	SetDataCoordClient(dataCoord DataCoordClient) error

	// SetRootCoordClient set SetRootCoordClient for QueryCoord
	// `rootCoord` is a client of root coordinator.
	//
	// Return a generic error in status:
	//     If the rootCoord is nil.
	// Return nil in status:
	//     The rootCoord is not nil.
	SetRootCoordClient(rootCoord RootCoordClient) error

	// SetQueryNodeCreator set QueryNode client creator func for QueryCoord
	SetQueryNodeCreator(func(ctx context.Context, addr string, nodeID int64) (QueryNodeClient, error))
}

QueryCoordComponent is used by grpc server of QueryCoord

type QueryNode

type QueryNode interface {
	Component
	querypb.QueryNodeServer
}

QueryNode is the interface `querynode` package implements

type QueryNodeClient

type QueryNodeClient interface {
	io.Closer
	querypb.QueryNodeClient
}

type QueryNodeComponent

type QueryNodeComponent interface {
	QueryNode

	// UpdateStateCode updates state code for QueryNode
	//  `stateCode` is current statement of this query node, indicating whether it's healthy.
	UpdateStateCode(stateCode commonpb.StateCode)

	SetAddress(address string)
	GetAddress() string
	GetNodeID() int64

	// SetEtcdClient set etcd client for QueryNode
	SetEtcdClient(etcdClient *clientv3.Client)
}

QueryNodeComponent is used by grpc server of QueryNode

type RootCoord

type RootCoord interface {
	Component
	rootcoordpb.RootCoordServer
}

RootCoord is the interface `rootcoord` package implements

type RootCoordClient

type RootCoordClient interface {
	io.Closer
	rootcoordpb.RootCoordClient
}

RootCoordClient is the client interface for rootcoord server

type RootCoordComponent

type RootCoordComponent interface {
	RootCoord

	SetAddress(address string)
	// SetEtcdClient set EtcdClient for RootCoord
	// `etcdClient` is a client of etcd
	SetEtcdClient(etcdClient *clientv3.Client)

	// SetTiKVClient set TiKV client for RootCoord
	SetTiKVClient(client *txnkv.Client)

	// UpdateStateCode updates state code for RootCoord
	// State includes: Initializing, Healthy and Abnormal
	UpdateStateCode(commonpb.StateCode)

	// SetDataCoordClient set SetDataCoordClient for RootCoord
	// `dataCoord` is a client of data coordinator.
	//
	// Always return nil.
	SetDataCoordClient(dataCoord DataCoordClient) error

	// SetQueryCoord set QueryCoord for RootCoord
	//  `queryCoord` is a client of query coordinator.
	//
	// Always return nil.
	SetQueryCoordClient(queryCoord QueryCoordClient) error

	// SetProxyCreator set Proxy client creator func for RootCoord
	SetProxyCreator(func(ctx context.Context, addr string, nodeID int64) (ProxyClient, error))

	// GetMetrics notifies RootCoordComponent to collect metrics for specified component
	GetMetrics(ctx context.Context, req *milvuspb.GetMetricsRequest) (*milvuspb.GetMetricsResponse, error)
}

RootCoordComponent is used by grpc server of RootCoord

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL