Documentation
¶
Index ¶
- Constants
- func StartRaftServer(nodeId entity.NodeID, ip string, resolver raft.SocketResolver) (*raft.RaftServer, error)
- type EventListener
- type RaftApplyResponse
- type RaftFatalEvent
- type RaftLeaderEvent
- type RaftReplicaEvent
- type RaftResolver
- func (r *RaftResolver) AddNode(id entity.NodeID, replica *entity.Replica)
- func (r *RaftResolver) DeleteNode(id entity.NodeID)
- func (r *RaftResolver) GetNode(id entity.NodeID) *nodeRef
- func (r *RaftResolver) NodeAddress(nodeID uint64, stype raft.SocketType) (string, error)
- func (r *RaftResolver) ToReplica(id entity.NodeID) (replica *entity.Replica)
- type Store
- func (s *Store) Apply(command []byte, index uint64) (resp interface{}, err error)
- func (s *Store) ApplyMemberChange(confChange *proto.ConfChange, index uint64) (interface{}, error)
- func (s *Store) ApplySnapshot(peers []proto.Peer, iter proto.SnapIterator) error
- func (s *Store) ChangeMember(changeType proto.ConfChangeType, server *entity.Server) error
- func (s *Store) Close() error
- func (s *Store) DeleteByQuery(ctx context.Context, readLeader bool, query *request.SearchRequest) (delCount int, err error)
- func (s *Store) Destroy() (err error)
- func (s *Store) Flush(ctx context.Context) error
- func (s *Store) GetDocument(ctx context.Context, readLeader bool, docID string) (*response.DocResult, error)
- func (s *Store) GetDocuments(ctx context.Context, readLeader bool, docIds []string) (response.DocResults, error)
- func (s *Store) GetLeader() (entity.NodeID, uint64)
- func (s *Store) GetPartition() *entity.Partition
- func (s *Store) GetRTDocument(ctx context.Context, readLeader bool, docID string) (*response.DocResult, error)
- func (s *Store) GetUnreachable(id uint64) []uint64
- func (s *Store) HandleFatalEvent(err *raft.FatalError)
- func (s *Store) HandleLeaderChange(leader uint64)
- func (s *Store) IsLeader() bool
- func (s *Store) MSearch(ctx context.Context, readLeader bool, query *request.SearchRequest) (result response.SearchResponses, err error)
- func (s *Store) MSearchIDs(ctx context.Context, readLeader bool, query *request.SearchRequest) (result []byte, err error)
- func (s *Store) Search(ctx context.Context, readLeader bool, query *request.SearchRequest) (result *response.SearchResponse, err error)
- func (s *Store) Snapshot() (proto.Snapshot, error)
- func (s *Store) Start() (err error)
- func (s *Store) Status() *raft.Status
- func (s *Store) StreamSearch(ctx context.Context, readLeader bool, query *request.SearchRequest, ...) error
- func (s *Store) TryToLeader() error
- func (s *Store) UpdateSpace(ctx context.Context, space *entity.Space) error
- func (s *Store) Write(ctx context.Context, request *pspb.DocCmd) (result *response.DocResult, err error)
Constants ¶
View Source
const ( TruncateTicket = 5 * time.Minute TruncateCounts = 10000000 FlushTicket = 1 * time.Second )
Variables ¶
This section is empty.
Functions ¶
func StartRaftServer ¶
func StartRaftServer(nodeId entity.NodeID, ip string, resolver raft.SocketResolver) (*raft.RaftServer, error)
Types ¶
type EventListener ¶
type EventListener interface {
HandleRaftReplicaEvent(event *RaftReplicaEvent)
HandleRaftLeaderEvent(event *RaftLeaderEvent)
HandleRaftFatalEvent(event *RaftFatalEvent)
}
this interface for event , server implements it
type RaftApplyResponse ¶
type RaftApplyResponse struct {
Results []*response.DocResult
Result *response.DocResult
FlushC chan error
Err error
}
func (*RaftApplyResponse) SetErr ¶
func (r *RaftApplyResponse) SetErr(err error) *RaftApplyResponse
type RaftFatalEvent ¶
type RaftFatalEvent struct {
PartitionId entity.PartitionID
Cause error
}
type RaftLeaderEvent ¶
type RaftLeaderEvent struct {
PartitionId entity.PartitionID
Leader entity.NodeID
}
type RaftReplicaEvent ¶
type RaftReplicaEvent struct {
PartitionId entity.PartitionID
Delete bool
Replica *entity.Replica
}
type RaftResolver ¶
type RaftResolver struct {
// contains filtered or unexported fields
}
RaftResolver resolve NodeID to net.Addr addresses
func (*RaftResolver) AddNode ¶
func (r *RaftResolver) AddNode(id entity.NodeID, replica *entity.Replica)
func (*RaftResolver) DeleteNode ¶
func (r *RaftResolver) DeleteNode(id entity.NodeID)
func (*RaftResolver) GetNode ¶
func (r *RaftResolver) GetNode(id entity.NodeID) *nodeRef
func (*RaftResolver) NodeAddress ¶
func (r *RaftResolver) NodeAddress(nodeID uint64, stype raft.SocketType) (string, error)
NodeAddress resolve NodeID to net.Addr addresses.
type Store ¶
type Store struct {
*storage.StoreBase
RaftPath string
RaftServer *raft.RaftServer
EventListener EventListener
Sn int64
LastFlushSn int64
Client *client.Client
}
func CreateStore ¶
func CreateStore(ctx context.Context, pID entity.PartitionID, nodeID entity.NodeID, space *entity.Space, raftServer *raft.RaftServer, eventListener EventListener, client *client.Client) (*Store, error)
CreateStore create an instance of Store.
func (*Store) ApplyMemberChange ¶
func (s *Store) ApplyMemberChange(confChange *proto.ConfChange, index uint64) (interface{}, error)
ApplyMemberChange implements the raft interface.
func (*Store) ApplySnapshot ¶
ApplySnapshot implements the raft interface.
func (*Store) ChangeMember ¶
func (*Store) DeleteByQuery ¶
func (*Store) Destroy ¶
Destroy close partition store if it running currently and remove all data file from filesystem.
func (*Store) GetDocument ¶
func (*Store) GetDocuments ¶
func (*Store) GetPartition ¶
func (*Store) GetRTDocument ¶
func (*Store) GetUnreachable ¶
func (*Store) HandleFatalEvent ¶
func (s *Store) HandleFatalEvent(err *raft.FatalError)
HandleFatalEvent implements the raft interface.
func (*Store) HandleLeaderChange ¶
HandleLeaderChange implements the raft interface.
func (*Store) MSearch ¶
func (s *Store) MSearch(ctx context.Context, readLeader bool, query *request.SearchRequest) (result response.SearchResponses, err error)
func (*Store) MSearchIDs ¶
func (*Store) Search ¶
func (s *Store) Search(ctx context.Context, readLeader bool, query *request.SearchRequest) (result *response.SearchResponse, err error)
func (*Store) StreamSearch ¶
func (*Store) TryToLeader ¶
func (*Store) UpdateSpace ¶
Click to show internal directories.
Click to hide internal directories.