server

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Jul 4, 2026 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MockGetClient

func MockGetClient(t *testing.T, svrConn string) (*nrpc.Client, func())

nrpc client

func MockInitGTID

func MockInitGTID(servers []*Server)

func MockPrepareTryToLeader

func MockPrepareTryToLeader(s *Server, replMode model.MysqlReplMode)

MockPrepareTryToLeader refreshes the mysql mock and ping state on a server before neohactl raft trytoleader (former leader may be MYSQL_DEAD after MGR leader loop).

func MockUseFastBackupCmd added in v0.3.0

func MockUseFastBackupCmd(servers []*Server)

MockUseFastBackupCmd swaps mysqld backup handlers to non-blocking mocks (CLI backup tests).

func MockWaitServerLeaderEggs

func MockWaitServerLeaderEggs(servers []*Server, leadernums int, replMode model.MysqlReplMode)

wait the leader eggs when leadernums >0 if leadernums == 0, we just want to sleep for a heartbeat broadcast

Types

type NodeRPC

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

func (*NodeRPC) AddIdleNodes

func (n *NodeRPC) AddIdleNodes(req *model.NodeRPCRequest, rsp *model.NodeRPCResponse) error

func (*NodeRPC) AddNodes

func (n *NodeRPC) AddNodes(req *model.NodeRPCRequest, rsp *model.NodeRPCResponse) error

func (*NodeRPC) GetNodes

func (n *NodeRPC) GetNodes(req *model.NodeRPCRequest, rsp *model.NodeRPCResponse) error

func (*NodeRPC) RemoveIdleNodes

func (n *NodeRPC) RemoveIdleNodes(req *model.NodeRPCRequest, rsp *model.NodeRPCResponse) error

func (*NodeRPC) RemoveNodes

func (n *NodeRPC) RemoveNodes(req *model.NodeRPCRequest, rsp *model.NodeRPCResponse) error

type RPCS

type RPCS struct {
	NodeRPC   *NodeRPC
	ServerRPC *ServerRPC
	UserRPC   *UserRPC
	HARPC     *raft.HARPC
	RaftRPC   *raft.RaftRPC
	MysqldRPC *mysqld.MysqldRPC
	BackupRPC *mysqld.BackupRPC
	MysqlRPC  *mysql.MysqlRPC
}

type RaftStatusSnapshot added in v0.3.0

type RaftStatusSnapshot struct {
	State  string
	Leader string
	Nodes  []string
}

RaftStatusSnapshot is the local Raft membership view for REST/CLI.

type Server

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

func MockServers

func MockServers(log *nlog.Log, port int, count int, replMode model.MysqlReplMode) ([]*Server, func())

func NewServer

func NewServer(conf *config.Config, log *nlog.Log, state ServerState) *Server

func (*Server) AddClusterMembers added in v0.3.0

func (s *Server) AddClusterMembers(nodes []string) error

AddClusterMembers adds Raft peers on the leader (or locally when leader is unknown).

func (*Server) Address

func (s *Server) Address() string

func (*Server) ClusterConfig added in v0.3.0

func (s *Server) ClusterConfig(ctx context.Context) ([]byte, error)

ClusterConfig returns the dynamic cluster config blob from DCS.

func (*Server) ClusterLeaderEndpoint added in v0.3.0

func (s *Server) ClusterLeaderEndpoint() string

ClusterLeaderEndpoint returns the Raft leader endpoint, or "" if unknown.

func (*Server) ClusterView added in v0.3.0

func (s *Server) ClusterView(ctx context.Context) (coordination.ClusterView, error)

ClusterView returns the current coordination snapshot.

func (*Server) CoordinationProvider added in v0.3.0

func (s *Server) CoordinationProvider() string

func (*Server) DatabaseHealth added in v0.3.0

func (s *Server) DatabaseHealth(ctx context.Context) (dbdriver.Health, error)

DatabaseHealth returns the L4 driver health snapshot for REST/CLI.

func (*Server) DatabaseType added in v0.3.0

func (s *Server) DatabaseType() string

func (*Server) DisableCheckSemiSync added in v0.3.0

func (s *Server) DisableCheckSemiSync() error

DisableCheckSemiSync disables semi-sync replication checks on the local Raft loop.

func (*Server) DisableRaft added in v0.3.0

func (s *Server) DisableRaft() error

DisableRaft transitions local Raft to IDLE.

func (*Server) GetElection

func (s *Server) GetElection() *election.Election

func (*Server) GetNodeRPC

func (s *Server) GetNodeRPC() *NodeRPC

func (*Server) GetServerRPC

func (s *Server) GetServerRPC() *ServerRPC

func (*Server) GetUserRPC

func (s *Server) GetUserRPC() *UserRPC

func (*Server) Init

func (s *Server) Init()

func (*Server) IsCoordinationLeader added in v0.3.0

func (s *Server) IsCoordinationLeader() bool

IsCoordinationLeader reports whether this node holds coordination leadership.

func (*Server) MemberName added in v0.3.0

func (s *Server) MemberName() string

func (*Server) MySQLAdmin

func (s *Server) MySQLAdmin() string

MySQLAdmin returns the mysql admin user.

func (*Server) MySQLPasswd

func (s *Server) MySQLPasswd() string

MySQLPasswd returns the mysql admin password.

func (*Server) Namespace added in v0.3.0

func (s *Server) Namespace() string

func (*Server) PeerAddress

func (s *Server) PeerAddress() string

PeerAddress returns the peer address.

func (*Server) Ping added in v0.3.0

func (s *Server) Ping() error

Ping confirms the agent process is alive.

func (*Server) RaftStatus added in v0.3.0

func (s *Server) RaftStatus() (RaftStatusSnapshot, error)

RaftStatus returns local Raft state and peer list.

func (*Server) RemoveClusterMembers added in v0.3.0

func (s *Server) RemoveClusterMembers(nodes []string) error

RemoveClusterMembers removes Raft peers on the leader (or locally when leader is unknown).

func (*Server) RestAPIConfig added in v0.3.0

func (s *Server) RestAPIConfig() *config.RestAPIConfig

func (*Server) RestAPIConnectAddress added in v0.3.0

func (s *Server) RestAPIConnectAddress() string

func (*Server) Scope added in v0.3.0

func (s *Server) Scope() string

func (*Server) SetClusterConfig added in v0.3.0

func (s *Server) SetClusterConfig(ctx context.Context, cfg []byte) error

SetClusterConfig writes the dynamic cluster config blob to DCS.

func (*Server) Shutdown

func (s *Server) Shutdown()

func (*Server) Start

func (s *Server) Start()

Start server

func (*Server) TagsConfig added in v0.3.0

func (s *Server) TagsConfig() *config.TagsConfig

func (*Server) TryToLeader added in v0.3.0

func (s *Server) TryToLeader() error

TryToLeader proposes this node as Raft leader when promotable.

func (*Server) Wait

func (s *Server) Wait()

waits for os signal

type ServerRPC

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

func (*ServerRPC) Ping

check the server connection whether OK

func (*ServerRPC) Status

type ServerState

type ServerState int

ServerState used for server state.

const (
	ServerLeader ServerState = 1 << iota
	ServerFollower
	ServerIdle
	ServerLearner
	ServerUnknown
)

type UserRPC

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

func (*UserRPC) ChangePasword

func (u *UserRPC) ChangePasword(req *model.MysqlUserRPCRequest, rsp *model.MysqlUserRPCResponse) error

change password

func (*UserRPC) CreateNormalUser

func (u *UserRPC) CreateNormalUser(req *model.MysqlUserRPCRequest, rsp *model.MysqlUserRPCResponse) error

CreateNormalUser used to create a normal user.

func (*UserRPC) CreateSuperUser

func (u *UserRPC) CreateSuperUser(req *model.MysqlUserRPCRequest, rsp *model.MysqlUserRPCResponse) error

CreateSuperUser used to create a admin user with all grants.

func (*UserRPC) CreateUserWithPrivileges

func (u *UserRPC) CreateUserWithPrivileges(req *model.MysqlUserRPCRequest, rsp *model.MysqlUserRPCResponse) error

CreateUserWithPrivileges creates user with privileges. This is used to create normal user.

func (*UserRPC) DropUser

drop user

func (*UserRPC) GetUser

GetUser get mysql user list

Jump to

Keyboard shortcuts

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