mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
Merge pull request #16990 from YaoC/backport-12890
[3.4] backport #12890 learner support snapshot RPC
This commit is contained in:
commit
75d2407fc0
@ -35,6 +35,7 @@ import (
|
||||
|
||||
const (
|
||||
maxNoLeaderCnt = 3
|
||||
snapshotMethod = "/etcdserverpb.Maintenance/Snapshot"
|
||||
)
|
||||
|
||||
type streamsMap struct {
|
||||
@ -200,7 +201,7 @@ func newStreamInterceptor(s *etcdserver.EtcdServer) grpc.StreamServerInterceptor
|
||||
return rpctypes.ErrGRPCNotCapable
|
||||
}
|
||||
|
||||
if s.IsMemberExist(s.ID()) && s.IsLearner() { // learner does not support stream RPC
|
||||
if s.IsMemberExist(s.ID()) && s.IsLearner() && info.FullMethod != snapshotMethod { // learner does not support stream RPC except Snapshot
|
||||
return rpctypes.ErrGPRCNotSupportedForLearner
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user