From 3be71d3840501b738f9d04cc9988be383f268a0f Mon Sep 17 00:00:00 2001 From: suxb201 Date: Tue, 2 Aug 2022 15:00:57 +0800 Subject: [PATCH] handle the nil error --- internal/writer/redis.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/internal/writer/redis.go b/internal/writer/redis.go index 156dafe..2c9b7e8 100644 --- a/internal/writer/redis.go +++ b/internal/writer/redis.go @@ -3,6 +3,7 @@ package writer import ( "bytes" "github.com/alibaba/RedisShake/internal/client" + "github.com/alibaba/RedisShake/internal/client/proto" "github.com/alibaba/RedisShake/internal/config" "github.com/alibaba/RedisShake/internal/entry" "github.com/alibaba/RedisShake/internal/log" @@ -60,7 +61,9 @@ func (w *redisWriter) flushInterval() { select { case e := <-w.chWaitReply: reply, err := w.client.Receive() - if err != nil { + if err == proto.Nil { + log.Warnf("redisWriter receive nil reply. argv=%v", e.Argv) + } else if err != nil { if err.Error() == "BUSYKEY Target key name already exists." { if config.Config.Advanced.RDBRestoreCommandBehavior == "skip" { log.Warnf("redisWriter received BUSYKEY reply. argv=%v", e.Argv)