Merge pull request #1693 from monkey92t/sentinel

discoverSentinels read the addr field incorrectly
This commit is contained in:
Vladimir Mihailenco 2021-03-13 09:09:02 +02:00 committed by GitHub
commit f63e0d666b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 14 additions and 7 deletions

View File

@ -666,10 +666,18 @@ func (c *sentinelFailover) discoverSentinels(ctx context.Context) {
} }
for _, sentinel := range sentinels { for _, sentinel := range sentinels {
vals := sentinel.([]interface{}) vals := sentinel.([]interface{})
var ip, port string
for i := 0; i < len(vals); i += 2 { for i := 0; i < len(vals); i += 2 {
key := vals[i].(string) key := vals[i].(string)
if key == "name" { switch key {
sentinelAddr := vals[i+1].(string) 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) { if !contains(c.sentinelAddrs, sentinelAddr) {
internal.Logger.Printf(ctx, "sentinel: discovered new sentinel=%q for master=%q", internal.Logger.Printf(ctx, "sentinel: discovered new sentinel=%q for master=%q",
sentinelAddr, c.opt.MasterName) sentinelAddr, c.opt.MasterName)
@ -678,7 +686,6 @@ func (c *sentinelFailover) discoverSentinels(ctx context.Context) {
} }
} }
} }
}
func (c *sentinelFailover) listen(pubsub *PubSub) { func (c *sentinelFailover) listen(pubsub *PubSub) {
ctx := context.TODO() ctx := context.TODO()