mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
updated servePeers to remvoe the grpc server
This commit is contained in:
parent
7101e8569d
commit
a879ccf152
@ -11,6 +11,7 @@ See [code changes](https://github.com/etcd-io/etcd/compare/v3.5.0...v3.6.0).
|
|||||||
### Breaking Changes
|
### Breaking Changes
|
||||||
|
|
||||||
- `etcd` will no longer start on data dir created by newer versions (for example etcd v3.6 will not run on v3.7+ data dir). To downgrade data dir please check out `etcdutl migrate` command.
|
- `etcd` will no longer start on data dir created by newer versions (for example etcd v3.6 will not run on v3.7+ data dir). To downgrade data dir please check out `etcdutl migrate` command.
|
||||||
|
- `etcd` doesn't support serving client requests on the peer listen endpoints (--listen-peer-urls). See [pull/13565](https://github.com/etcd-io/etcd/pull/13565).
|
||||||
|
|
||||||
### etcdctl v3
|
### etcdctl v3
|
||||||
|
|
||||||
|
@ -16,7 +16,6 @@ package embed
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"crypto/tls"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
defaultLog "log"
|
defaultLog "log"
|
||||||
@ -38,7 +37,6 @@ import (
|
|||||||
"go.etcd.io/etcd/server/v3/etcdserver"
|
"go.etcd.io/etcd/server/v3/etcdserver"
|
||||||
"go.etcd.io/etcd/server/v3/etcdserver/api/etcdhttp"
|
"go.etcd.io/etcd/server/v3/etcdserver/api/etcdhttp"
|
||||||
"go.etcd.io/etcd/server/v3/etcdserver/api/rafthttp"
|
"go.etcd.io/etcd/server/v3/etcdserver/api/rafthttp"
|
||||||
"go.etcd.io/etcd/server/v3/etcdserver/api/v3rpc"
|
|
||||||
"go.etcd.io/etcd/server/v3/storage"
|
"go.etcd.io/etcd/server/v3/storage"
|
||||||
"go.etcd.io/etcd/server/v3/verify"
|
"go.etcd.io/etcd/server/v3/verify"
|
||||||
|
|
||||||
@ -530,20 +528,12 @@ func configurePeerListeners(cfg *Config) (peers []*peerListener, err error) {
|
|||||||
// configure peer handlers after rafthttp.Transport started
|
// configure peer handlers after rafthttp.Transport started
|
||||||
func (e *Etcd) servePeers() (err error) {
|
func (e *Etcd) servePeers() (err error) {
|
||||||
ph := etcdhttp.NewPeerHandler(e.GetLogger(), e.Server)
|
ph := etcdhttp.NewPeerHandler(e.GetLogger(), e.Server)
|
||||||
var peerTLScfg *tls.Config
|
|
||||||
if !e.cfg.PeerTLSInfo.Empty() {
|
|
||||||
if peerTLScfg, err = e.cfg.PeerTLSInfo.ServerConfig(); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for _, p := range e.Peers {
|
for _, p := range e.Peers {
|
||||||
u := p.Listener.Addr().String()
|
u := p.Listener.Addr().String()
|
||||||
gs := v3rpc.Server(e.Server, peerTLScfg, nil)
|
|
||||||
m := cmux.New(p.Listener)
|
m := cmux.New(p.Listener)
|
||||||
go gs.Serve(m.Match(cmux.HTTP2()))
|
|
||||||
srv := &http.Server{
|
srv := &http.Server{
|
||||||
Handler: grpcHandlerFunc(gs, ph),
|
Handler: ph,
|
||||||
ReadTimeout: 5 * time.Minute,
|
ReadTimeout: 5 * time.Minute,
|
||||||
ErrorLog: defaultLog.New(io.Discard, "", 0), // do not log user error
|
ErrorLog: defaultLog.New(io.Discard, "", 0), // do not log user error
|
||||||
}
|
}
|
||||||
@ -563,7 +553,7 @@ func (e *Etcd) servePeers() (err error) {
|
|||||||
"stopping serving peer traffic",
|
"stopping serving peer traffic",
|
||||||
zap.String("address", u),
|
zap.String("address", u),
|
||||||
)
|
)
|
||||||
stopServers(ctx, &servers{secure: peerTLScfg != nil, grpc: gs, http: srv})
|
srv.Shutdown(ctx)
|
||||||
e.cfg.logger.Info(
|
e.cfg.logger.Info(
|
||||||
"stopped serving peer traffic",
|
"stopped serving peer traffic",
|
||||||
zap.String("address", u),
|
zap.String("address", u),
|
||||||
|
@ -545,7 +545,6 @@ type Member struct {
|
|||||||
|
|
||||||
GrpcServerOpts []grpc.ServerOption
|
GrpcServerOpts []grpc.ServerOption
|
||||||
GrpcServer *grpc.Server
|
GrpcServer *grpc.Server
|
||||||
GrpcServerPeer *grpc.Server
|
|
||||||
GrpcURL string
|
GrpcURL string
|
||||||
GrpcBridge *bridge
|
GrpcBridge *bridge
|
||||||
|
|
||||||
@ -922,7 +921,6 @@ func (m *Member) Launch() error {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
m.GrpcServer = v3rpc.Server(m.Server, tlscfg, m.GrpcServerRecorder.UnaryInterceptor(), m.GrpcServerOpts...)
|
m.GrpcServer = v3rpc.Server(m.Server, tlscfg, m.GrpcServerRecorder.UnaryInterceptor(), m.GrpcServerOpts...)
|
||||||
m.GrpcServerPeer = v3rpc.Server(m.Server, peerTLScfg, m.GrpcServerRecorder.UnaryInterceptor())
|
|
||||||
m.ServerClient = v3client.New(m.Server)
|
m.ServerClient = v3client.New(m.Server)
|
||||||
lockpb.RegisterLockServer(m.GrpcServer, v3lock.NewLockServer(m.ServerClient))
|
lockpb.RegisterLockServer(m.GrpcServer, v3lock.NewLockServer(m.ServerClient))
|
||||||
epb.RegisterElectionServer(m.GrpcServer, v3election.NewElectionServer(m.ServerClient))
|
epb.RegisterElectionServer(m.GrpcServer, v3election.NewElectionServer(m.ServerClient))
|
||||||
@ -934,11 +932,7 @@ func (m *Member) Launch() error {
|
|||||||
h := (http.Handler)(m.RaftHandler)
|
h := (http.Handler)(m.RaftHandler)
|
||||||
if m.GrpcListener != nil {
|
if m.GrpcListener != nil {
|
||||||
h = http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
h = http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||||
if r.ProtoMajor == 2 && strings.Contains(r.Header.Get("Content-Type"), "application/grpc") {
|
|
||||||
m.GrpcServerPeer.ServeHTTP(w, r)
|
|
||||||
} else {
|
|
||||||
m.RaftHandler.ServeHTTP(w, r)
|
m.RaftHandler.ServeHTTP(w, r)
|
||||||
}
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -947,11 +941,6 @@ func (m *Member) Launch() error {
|
|||||||
// don't hang on matcher after closing listener
|
// don't hang on matcher after closing listener
|
||||||
cm.SetReadTimeout(time.Second)
|
cm.SetReadTimeout(time.Second)
|
||||||
|
|
||||||
if m.GrpcServer != nil {
|
|
||||||
grpcl := cm.Match(cmux.HTTP2())
|
|
||||||
go m.GrpcServerPeer.Serve(grpcl)
|
|
||||||
}
|
|
||||||
|
|
||||||
// serve http1/http2 rafthttp/grpc
|
// serve http1/http2 rafthttp/grpc
|
||||||
ll := cm.Match(cmux.Any())
|
ll := cm.Match(cmux.Any())
|
||||||
if peerTLScfg != nil {
|
if peerTLScfg != nil {
|
||||||
@ -1146,9 +1135,6 @@ func (m *Member) Close() {
|
|||||||
<-ch
|
<-ch
|
||||||
}
|
}
|
||||||
m.GrpcServer = nil
|
m.GrpcServer = nil
|
||||||
m.GrpcServerPeer.GracefulStop()
|
|
||||||
m.GrpcServerPeer.Stop()
|
|
||||||
m.GrpcServerPeer = nil
|
|
||||||
}
|
}
|
||||||
if m.Server != nil {
|
if m.Server != nil {
|
||||||
m.Server.HardStop()
|
m.Server.HardStop()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user