From ce49de399fd52204bcb4f69e0dbcb3df7812f44f Mon Sep 17 00:00:00 2001 From: ANDREY KHASANOV Date: Fri, 3 May 2024 23:45:22 +0300 Subject: [PATCH] Handle redis.Nil error in GetVersion function Added error handling for redis.Nil error in GetVersion method in version.go. This change will return 0 and nil, for redis.Nil errors, to prevent unexpected behavior or application crashes. --- internal/repo/redis/version.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/internal/repo/redis/version.go b/internal/repo/redis/version.go index b1eb9da..a014db9 100644 --- a/internal/repo/redis/version.go +++ b/internal/repo/redis/version.go @@ -3,6 +3,9 @@ package redis import ( "context" "encoding/binary" + "errors" + + "github.com/redis/go-redis/v9" ) type version interface { @@ -20,6 +23,9 @@ func (d *db) WriteVersion(ctx context.Context, version uint32) error { func (d *db) GetVersion(ctx context.Context) (uint32, error) { data, err := d.db.Get(ctx, string(d.keyBuilder.Version())).Result() if err != nil { + if errors.Is(err, redis.Nil) { + return 0, nil + } return 0, err }