fix resolver bug

pull/266/head
longXboy 5 years ago
parent 3e92753a1b
commit 16c346eba4
  1. 3
      pkg/net/rpc/warden/CHANGELOG.md
  2. 15
      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

@ -128,19 +128,24 @@ func (r *Resolver) updateproc() {
return return
} }
} }
if ins, ok := r.nr.Fetch(context.Background()); ok { if insMap, ok := r.nr.Fetch(context.Background()); ok {
instances, ok := ins.Instances[r.zone] instances, _ := insMap[r.zone]
if !ok { res := r.filter(instances)
for _, value := range ins.Instances { if len(res) == 0 {
for _, value := range insMap {
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