Merge pull request #266 from bilibili/resolver/fix_bug

fix resolver bug
pull/269/head
Tony 5 years ago committed by GitHub
commit 83d804edf7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      pkg/net/rpc/warden/CHANGELOG.md
  2. 11
      pkg/net/rpc/warden/resolver/resolver.go

@ -1,5 +1,8 @@
### net/rpc/warden ### net/rpc/warden
##### Version 1.1.21
1. fix resolver bug
##### Version 1.1.20 ##### Version 1.1.20
1. client增加timeoutCallOpt强制覆盖每次请求的timeout 1. client增加timeoutCallOpt强制覆盖每次请求的timeout

@ -129,18 +129,23 @@ func (r *Resolver) updateproc() {
} }
} }
if ins, ok := r.nr.Fetch(context.Background()); ok { if ins, ok := r.nr.Fetch(context.Background()); ok {
instances, ok := ins.Instances[r.zone] instances, _ := ins.Instances[r.zone]
if !ok { res := r.filter(instances)
if len(res) == 0 {
for _, value := range ins.Instances { for _, value := range ins.Instances {
instances = append(instances, value...) instances = append(instances, value...)
} }
res = r.filter(instances)
} }
r.newAddress(r.filter(instances)) r.newAddress(res)
} }
} }
} }
func (r *Resolver) filter(backends []*naming.Instance) (instances []*naming.Instance) { func (r *Resolver) filter(backends []*naming.Instance) (instances []*naming.Instance) {
if len(backends) == 0 {
return
}
for _, ins := range backends { for _, ins := range backends {
//如果r.clusters的长度大于0说明需要进行集群选择 //如果r.clusters的长度大于0说明需要进行集群选择
if _, ok := r.clusters[ins.Metadata[naming.MetaCluster]]; !ok && len(r.clusters) > 0 { if _, ok := r.clusters[ins.Metadata[naming.MetaCluster]]; !ok && len(r.clusters) > 0 {

Loading…
Cancel
Save