From 4bfcd8425919a94275f95c97fb99a02d6ec40f56 Mon Sep 17 00:00:00 2001 From: Marek Siarkowicz Date: Thu, 2 Dec 2021 15:44:38 +0100 Subject: [PATCH] server: Handle V2Request when analysis WAL entries --- server/storage/wal/version.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/server/storage/wal/version.go b/server/storage/wal/version.go index 0190db98e..8fe6725e8 100644 --- a/server/storage/wal/version.go +++ b/server/storage/wal/version.go @@ -97,9 +97,15 @@ func visitEntryData(entryType raftpb.EntryType, data []byte, visitor Visitor) er switch entryType { case raftpb.EntryNormal: var raftReq etcdserverpb.InternalRaftRequest - err := pbutil.Unmarshaler(&raftReq).Unmarshal(data) - if err != nil { - return err + if err := pbutil.Unmarshaler(&raftReq).Unmarshal(data); err != nil { + // try V2 Request + var r etcdserverpb.Request + if pbutil.Unmarshaler(&r).Unmarshal(data) != nil { + // return original error + return err + } + msg = proto.MessageReflect(&r) + break } msg = proto.MessageReflect(&raftReq) if raftReq.ClusterVersionSet != nil {