forked from mirror/redis
discoverSentinels read the addr field incorrectly
Signed-off-by: monkey <golang@88.com>
This commit is contained in:
parent
573638ff0c
commit
c25daee5e6
13
sentinel.go
13
sentinel.go
|
@ -666,10 +666,18 @@ func (c *sentinelFailover) discoverSentinels(ctx context.Context) {
|
|||
}
|
||||
for _, sentinel := range sentinels {
|
||||
vals := sentinel.([]interface{})
|
||||
var ip, port string
|
||||
for i := 0; i < len(vals); i += 2 {
|
||||
key := vals[i].(string)
|
||||
if key == "name" {
|
||||
sentinelAddr := vals[i+1].(string)
|
||||
switch key {
|
||||
case "ip":
|
||||
ip = vals[i+1].(string)
|
||||
case "port":
|
||||
port = vals[i+1].(string)
|
||||
}
|
||||
}
|
||||
if ip != "" && port != "" {
|
||||
sentinelAddr := net.JoinHostPort(ip, port)
|
||||
if !contains(c.sentinelAddrs, sentinelAddr) {
|
||||
internal.Logger.Printf(ctx, "sentinel: discovered new sentinel=%q for master=%q",
|
||||
sentinelAddr, c.opt.MasterName)
|
||||
|
@ -677,7 +685,6 @@ func (c *sentinelFailover) discoverSentinels(ctx context.Context) {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (c *sentinelFailover) listen(pubsub *PubSub) {
|
||||
|
|
Loading…
Reference in New Issue