CodisLabs / CodisLabs/codis

关于server主从切换,proxy 的问题

Aperta
#1,506 7 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Go
Stelle
13.2k
Fork
2.7k
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

version = 2018-04-07 12:12:01 +0800 @4803cffb121d21529c1717dddd2e75e3fab06ab3 @3.2.2-6-g4803cff
compile = 2018-05-30 09:40:17 +0800 by go version go1.9.2 linux/amd64
环境:172.xx.xx.185上两主,172.xx.xx.184上是172.xx.xx.185的两从
把172.xx.xx.185上两主 直接kill了,
172.xx.xx.184上的从是能正常变主,
但是codis-proxy (172.xx.xx.183)日志一直打印
2018/06/08 10:30:13 backend.go:334: [WARN] backend conn [0xc43389bda0] to 172.xx.xx.185:11194, db-0 writer-[0] exit
[error]: backend conn failure, set tcp 172.xx.xx.183:46510: use of closed network connection
2018/06/08 10:30:13 backend.go:261: [WARN] backend conn [0xc43389bda0] to 172.xx.xx.185:11194, db-0 round-[1]
2018/06/08 10:30:13 backend.go:282: [WARN] backend conn [0xc43389bda0] to 172.xx.xx.185:11194, db-0 reader-[0] exit
[error]: backend conn failure, read tcp 172.xx.xx.183:46510->172.xx.xx.185:11194: read: connection reset by peer
2018/06/08 10:30:13 backend.go:334: [WARN] backend conn [0xc43389bda0] to 172.xx.xx.185:11194, db-0 writer-[1] exit
[error]: dial tcp 172.xx.xx.185:11194: getsockopt: connection refused
3 /root/go/src/github.com/CodisLabs/codis/pkg/proxy/redis/conn.go:30
github.com/CodisLabs/codis/pkg/proxy/redis.DialTimeout
2 /root/go/src/github.com/CodisLabs/codis/pkg/proxy/backend.go:158
github.com/CodisLabs/codis/pkg/proxy.(*BackendConn).newBackendReader
1 /root/go/src/github.com/CodisLabs/codis/pkg/proxy/backend.go:337
github.com/CodisLabs/codis/pkg/proxy.(*BackendConn).loopWriter
0 /root/go/src/github.com/CodisLabs/codis/pkg/proxy/backend.go:263
github.com/CodisLabs/codis/pkg/proxy.(*BackendConn).run
... ...

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia con pkg/proxy/backend.go e pkg/proxy/redis/conn.go, i punti di ingresso nominati nello stack trace, e riproduci o traccia il comportamento del proxy durante il failover del master del backend. Il report registra errori di connessione, ma non indica il comportamento previsto del proxy né un criterio di accettazione, quindi il completamento non può essere determinato dal solo issue.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
go, redis
Ambito
backend, databases, distributed-systems
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.