From 6877d3bde6bf3004ef4a2f4fbd9706bb10bf20a3 Mon Sep 17 00:00:00 2001
From: Levente Pap <levente.pap@iota.org>
Date: Tue, 14 Jul 2020 15:01:33 +0200
Subject: [PATCH] Fix DBStats method

---
 packages/binary/messagelayer/tangle/tangle.go | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/packages/binary/messagelayer/tangle/tangle.go b/packages/binary/messagelayer/tangle/tangle.go
index 3d64f8a5..0351db08 100644
--- a/packages/binary/messagelayer/tangle/tangle.go
+++ b/packages/binary/messagelayer/tangle/tangle.go
@@ -139,15 +139,15 @@ func (tangle *Tangle) Prune() error {
 func (tangle *Tangle) DBStats() (solidCount int, messageCount int, avgSolidificationTime float64) {
 	var sumSolidificationTime time.Duration
 	tangle.messageMetadataStorage.ForEach(func(key []byte, cachedObject objectstorage.CachedObject) bool {
-		defer cachedObject.Release()
-		cachedMessageMetadata := &CachedMessageMetadata{CachedObject: cachedObject}
-		msgMetaData := cachedMessageMetadata.Unwrap()
-		messageCount++
-		received := msgMetaData.ReceivedTime()
-		if msgMetaData.IsSolid() {
-			solidCount++
-			sumSolidificationTime += msgMetaData.solidificationTime.Sub(received)
-		}
+		cachedObject.Consume(func(object objectstorage.StorableObject) {
+			msgMetaData := object.(*MessageMetadata)
+			messageCount++
+			received := msgMetaData.ReceivedTime()
+			if msgMetaData.IsSolid() {
+				solidCount++
+				sumSolidificationTime += msgMetaData.solidificationTime.Sub(received)
+			}
+		})
 		return true
 	})
 	avgSolidificationTime = float64(sumSolidificationTime.Milliseconds()) / float64(solidCount)
-- 
GitLab