fix(peer_server): set store and registry when setting raft server
New raft server needs new store and registry.
This commit is contained in:
@ -327,6 +327,14 @@ func (e *Etcd) runServer() {
|
|||||||
e.StandbyServer.SyncCluster(peerURLs)
|
e.StandbyServer.SyncCluster(peerURLs)
|
||||||
e.setMode(StandbyMode)
|
e.setMode(StandbyMode)
|
||||||
} else {
|
} else {
|
||||||
|
// Create etcd key-value store and registry.
|
||||||
|
e.Store = store.New()
|
||||||
|
e.Registry = server.NewRegistry(e.Store)
|
||||||
|
e.PeerServer.SetStore(e.Store)
|
||||||
|
e.PeerServer.SetRegistry(e.Registry)
|
||||||
|
e.Server.SetStore(e.Store)
|
||||||
|
e.Server.SetRegistry(e.Registry)
|
||||||
|
|
||||||
// Generate new peer server here.
|
// Generate new peer server here.
|
||||||
// TODO(yichengq): raft server cannot be started after stopped.
|
// TODO(yichengq): raft server cannot be started after stopped.
|
||||||
// It should be removed when raft restart is implemented.
|
// It should be removed when raft restart is implemented.
|
||||||
|
@ -146,6 +146,14 @@ func (s *PeerServer) SetRaftServer(raftServer raft.Server, snapshot bool) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *PeerServer) SetRegistry(registry *Registry) {
|
||||||
|
s.registry = registry
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *PeerServer) SetStore(store store.Store) {
|
||||||
|
s.store = store
|
||||||
|
}
|
||||||
|
|
||||||
// Try all possible ways to find clusters to join
|
// Try all possible ways to find clusters to join
|
||||||
// Include log data in -data-dir, -discovery and -peers
|
// Include log data in -data-dir, -discovery and -peers
|
||||||
//
|
//
|
||||||
|
@ -99,6 +99,14 @@ func (s *Server) Store() store.Store {
|
|||||||
return s.store
|
return s.store
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *Server) SetRegistry(registry *Registry) {
|
||||||
|
s.registry = registry
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Server) SetStore(store store.Store) {
|
||||||
|
s.store = store
|
||||||
|
}
|
||||||
|
|
||||||
func (s *Server) installV1(r *mux.Router) {
|
func (s *Server) installV1(r *mux.Router) {
|
||||||
s.handleFuncV1(r, "/v1/keys/{key:.*}", v1.GetKeyHandler).Methods("GET", "HEAD")
|
s.handleFuncV1(r, "/v1/keys/{key:.*}", v1.GetKeyHandler).Methods("GET", "HEAD")
|
||||||
s.handleFuncV1(r, "/v1/keys/{key:.*}", v1.SetKeyHandler).Methods("POST", "PUT")
|
s.handleFuncV1(r, "/v1/keys/{key:.*}", v1.SetKeyHandler).Methods("POST", "PUT")
|
||||||
|
Reference in New Issue
Block a user