From a5f8af4efbfdbeea932bdae4ed085732842b98ed Mon Sep 17 00:00:00 2001 From: Harshavardhana Date: Tue, 20 Dec 2022 00:07:53 -0800 Subject: [PATCH] serialize replication stats() only when needed (#16280) --- cmd/bucket-replication-stats.go | 10 ++++++---- cmd/bucket-replication-utils.go | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/cmd/bucket-replication-stats.go b/cmd/bucket-replication-stats.go index 1e5c2b612..800736b61 100644 --- a/cmd/bucket-replication-stats.go +++ b/cmd/bucket-replication-stats.go @@ -254,11 +254,10 @@ func (r *ReplicationStats) serializeStats() ([]byte, error) { } r.mostRecentStatsMu.Lock() defer r.mostRecentStatsMu.Unlock() - bsm := r.mostRecentStats - if len(bsm.Stats) == 0 { + if len(r.mostRecentStats.Stats) == 0 { return nil, nil } - data := make([]byte, 4, 4+bsm.Msgsize()) + data := make([]byte, 4, 4+r.mostRecentStats.Msgsize()) // Add the replication stats meta header. binary.LittleEndian.PutUint16(data[0:2], replStatsMetaFormat) binary.LittleEndian.PutUint16(data[2:4], replStatsVersion) @@ -333,6 +332,7 @@ func (r *ReplicationStats) calculateBucketReplicationStats(bucket string, u Buck s = BucketReplicationStats{ Stats: make(map[string]*BucketReplicationStat, len(stats)), } + var latestTotReplicatedSize int64 for _, st := range u.ReplicationInfo { latestTotReplicatedSize += int64(st.ReplicatedSize) @@ -372,7 +372,9 @@ func (r *ReplicationStats) calculateBucketReplicationStats(bucket string, u Buck if len(r.mostRecentStats.Stats) == 0 { r.mostRecentStats = BucketStatsMap{Stats: make(map[string]BucketStats, 1), Timestamp: UTCNow()} } - r.mostRecentStats.Stats[bucket] = BucketStats{ReplicationStats: s} + if len(s.Stats) > 0 { + r.mostRecentStats.Stats[bucket] = BucketStats{ReplicationStats: s} + } r.mostRecentStats.Timestamp = UTCNow() r.mostRecentStatsMu.Unlock() return s diff --git a/cmd/bucket-replication-utils.go b/cmd/bucket-replication-utils.go index c525fc87b..283862f7a 100644 --- a/cmd/bucket-replication-utils.go +++ b/cmd/bucket-replication-utils.go @@ -638,7 +638,7 @@ type replicationResyncer struct { } const ( - replicationDir = "replication" + replicationDir = ".replication" resyncFileName = "resync.bin" resyncMetaFormat = 1 resyncMetaVersionV1 = 1