Code Review
/
ric-plt
/
sdlgo.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Bump Redis client version to v8.11.4
[ric-plt/sdlgo.git]
/
internal
/
sdlgoredis
/
sdlgosentinel.go
diff --git
a/internal/sdlgoredis/sdlgosentinel.go
b/internal/sdlgoredis/sdlgosentinel.go
index
19468d7
..
8a1b331
100644
(file)
--- a/
internal/sdlgoredis/sdlgosentinel.go
+++ b/
internal/sdlgoredis/sdlgosentinel.go
@@
-23,20
+23,22
@@
package sdlgoredis
import (
package sdlgoredis
import (
+ "context"
"fmt"
"fmt"
- "github.com/go-redis/redis/v
7
"
+ "github.com/go-redis/redis/v
8
"
"strconv"
)
type Sentinel struct {
"strconv"
)
type Sentinel struct {
+ ctx context.Context
IredisSentinelClient
Cfg *Config
}
type IredisSentinelClient interface {
IredisSentinelClient
Cfg *Config
}
type IredisSentinelClient interface {
- Master(name string) *redis.StringStringMapCmd
- Slaves(name string) *redis.SliceCmd
- Sentinels(name string) *redis.SliceCmd
+ Master(
ctx context.Context,
name string) *redis.StringStringMapCmd
+ Slaves(
ctx context.Context,
name string) *redis.SliceCmd
+ Sentinels(
ctx context.Context,
name string) *redis.SliceCmd
}
type RedisSentinelCreateCb func(cfg *Config, addr string) *Sentinel
}
type RedisSentinelCreateCb func(cfg *Config, addr string) *Sentinel
@@
-44,6
+46,7
@@
type RedisSentinelCreateCb func(cfg *Config, addr string) *Sentinel
func newRedisSentinel(cfg *Config, addr string) *Sentinel {
redisAddress := addr + ":" + cfg.sentinelPort
return &Sentinel{
func newRedisSentinel(cfg *Config, addr string) *Sentinel {
redisAddress := addr + ":" + cfg.sentinelPort
return &Sentinel{
+ ctx: context.Background(),
IredisSentinelClient: redis.NewSentinelClient(&redis.Options{
Addr: redisAddress,
Password: "", // no password set
IredisSentinelClient: redis.NewSentinelClient(&redis.Options{
Addr: redisAddress,
Password: "", // no password set
@@
-82,7
+85,7
@@
func (s *Sentinel) GetDbState() (*DbState, error) {
func (s *Sentinel) getPrimaryDbState() (*PrimaryDbState, error) {
state := new(PrimaryDbState)
func (s *Sentinel) getPrimaryDbState() (*PrimaryDbState, error) {
state := new(PrimaryDbState)
- redisVal, redisErr := s.Master(s.Cfg.masterName).Result()
+ redisVal, redisErr := s.Master(s.
ctx, s.
Cfg.masterName).Result()
if redisErr == nil {
state.Fields.Ip = redisVal["ip"]
state.Fields.Port = redisVal["port"]
if redisErr == nil {
state.Fields.Ip = redisVal["ip"]
state.Fields.Port = redisVal["port"]
@@
-97,7
+100,7
@@
func (s *Sentinel) getReplicasState() (*ReplicasDbState, error) {
states := new(ReplicasDbState)
states.States = make([]*ReplicaDbState, 0)
states := new(ReplicasDbState)
states.States = make([]*ReplicaDbState, 0)
- redisVal, redisErr := s.Slaves(s.Cfg.masterName).Result()
+ redisVal, redisErr := s.Slaves(s.
ctx, s.
Cfg.masterName).Result()
if redisErr == nil {
for _, redisReplica := range redisVal {
replicaState := readReplicaState(redisReplica.([]interface{}))
if redisErr == nil {
for _, redisReplica := range redisVal {
replicaState := readReplicaState(redisReplica.([]interface{}))
@@
-130,11
+133,15
@@
func (s *Sentinel) getSentinelsState() (*SentinelsDbState, error) {
states := new(SentinelsDbState)
states.States = make([]*SentinelDbState, 0)
states := new(SentinelsDbState)
states.States = make([]*SentinelDbState, 0)
- redisVal, redisErr := s.Sentinels(s.Cfg.masterName).Result()
+ redisVal, redisErr := s.Sentinels(s.
ctx, s.
Cfg.masterName).Result()
if redisErr == nil {
for _, redisSentinel := range redisVal {
sentinelState := readSentinelState(redisSentinel.([]interface{}))
if redisErr == nil {
for _, redisSentinel := range redisVal {
sentinelState := readSentinelState(redisSentinel.([]interface{}))
- states.States = append(states.States, sentinelState)
+ // Ignore a sentinel entry with zero port, because missing of fix
+ // for the Redis Bug #9240.
+ if sentinelState.Fields.Port != "0" {
+ states.States = append(states.States, sentinelState)
+ }
}
}
states.Err = redisErr
}
}
states.Err = redisErr