From 20c492986c9eff89ebed381028efd7c279b21edb Mon Sep 17 00:00:00 2001 From: huangzw Date: Fri, 21 Feb 2025 15:41:54 +0800 Subject: [PATCH 1/2] perf: use empty struct instead of bool for map values Signed-off-by: huangzw --- server/storage/util.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/server/storage/util.go b/server/storage/util.go index 0dc7f1c6d305..490fdbf31ace 100644 --- a/server/storage/util.go +++ b/server/storage/util.go @@ -19,6 +19,7 @@ import ( "fmt" "sort" + "go.etcd.io/raft/v3/raftpb" "go.uber.org/zap" "go.etcd.io/etcd/client/pkg/v3/types" @@ -26,7 +27,6 @@ import ( "go.etcd.io/etcd/server/v3/config" "go.etcd.io/etcd/server/v3/etcdserver/api/membership" "go.etcd.io/etcd/server/v3/etcdserver/api/v2store" - "go.etcd.io/raft/v3/raftpb" ) // AssertNoV2StoreContent -> depending on the deprecation stage, warns or report an error @@ -126,10 +126,10 @@ func GetEffectiveNodeIdsFromWalEntries(lg *zap.Logger, snap *raftpb.Snapshot, en // - ConfChangeRemoveNode, in which case the contained ID will Be removed from the set. // - ConfChangeAddLearnerNode, in which the contained ID will Be added into the set. func GetEffectiveNodeIDsFromWALEntries(lg *zap.Logger, snap *raftpb.Snapshot, ents []raftpb.Entry) []uint64 { - ids := make(map[uint64]bool) + ids := make(map[uint64]struct{}) if snap != nil { for _, id := range snap.Metadata.ConfState.Voters { - ids[id] = true + ids[id] = struct{}{} } } for _, e := range ents { @@ -140,9 +140,9 @@ func GetEffectiveNodeIDsFromWALEntries(lg *zap.Logger, snap *raftpb.Snapshot, en pbutil.MustUnmarshal(&cc, e.Data) switch cc.Type { case raftpb.ConfChangeAddLearnerNode: - ids[cc.NodeID] = true + ids[cc.NodeID] = struct{}{} case raftpb.ConfChangeAddNode: - ids[cc.NodeID] = true + ids[cc.NodeID] = struct{}{} case raftpb.ConfChangeRemoveNode: delete(ids, cc.NodeID) case raftpb.ConfChangeUpdateNode: From 5fbba89a2f9903b4df66e824aa95e792e4f0d717 Mon Sep 17 00:00:00 2001 From: huangzw Date: Fri, 21 Feb 2025 17:10:06 +0800 Subject: [PATCH 2/2] chore: adjust import order Signed-off-by: huangzw --- server/storage/util.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/storage/util.go b/server/storage/util.go index 490fdbf31ace..7d15623e6be6 100644 --- a/server/storage/util.go +++ b/server/storage/util.go @@ -19,7 +19,6 @@ import ( "fmt" "sort" - "go.etcd.io/raft/v3/raftpb" "go.uber.org/zap" "go.etcd.io/etcd/client/pkg/v3/types" @@ -27,6 +26,7 @@ import ( "go.etcd.io/etcd/server/v3/config" "go.etcd.io/etcd/server/v3/etcdserver/api/membership" "go.etcd.io/etcd/server/v3/etcdserver/api/v2store" + "go.etcd.io/raft/v3/raftpb" ) // AssertNoV2StoreContent -> depending on the deprecation stage, warns or report an error