From 865b9656691cde57e90a1897b7765bbdb4db2cc3 Mon Sep 17 00:00:00 2001 From: prathamesh0 Date: Thu, 15 Dec 2022 16:28:19 +0530 Subject: [PATCH] Fix meta data updates --- pkg/eth/backend.go | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/pkg/eth/backend.go b/pkg/eth/backend.go index a3eb6ea8..c440430a 100644 --- a/pkg/eth/backend.go +++ b/pkg/eth/backend.go @@ -892,12 +892,15 @@ func (b *Backend) GetSlice(path string, depth int, root common.Hash, storage boo response := new(GetSliceResponse) response.init(path, depth, root) - t, _ := b.StateDatabase.OpenTrie(root) - headPath := common.FromHex(path) - // Metadata fields metaData := metaDataFields{} + startTime := makeTimestamp() + t, _ := b.StateDatabase.OpenTrie(root) + metaData.trieLoadingTime = makeTimestamp() - startTime + + headPath := common.FromHex(path) + // Get Stem nodes err := b.getSliceStem(headPath, t, response, &metaData, storage) if err != nil { @@ -944,8 +947,9 @@ func (b *Backend) getSliceStem(headPath []byte, t state.Trie, response *GetSlice } // Update metadata - if (sliceNodeMetrics.pathLen - len(headPath)) > metaData.maxDepth { - metaData.maxDepth = sliceNodeMetrics.pathLen + depthReached := sliceNodeMetrics.pathLen - len(headPath) + if depthReached > metaData.maxDepth { + metaData.maxDepth = depthReached } if sliceNodeMetrics.isLeaf { metaData.leafCount++ @@ -973,8 +977,9 @@ func (b *Backend) getSliceHead(headPath []byte, t state.Trie, response *GetSlice } // Update metadata - if (sliceNodeMetrics.pathLen - len(headPath)) > metaData.maxDepth { - metaData.maxDepth = sliceNodeMetrics.pathLen + depthReached := sliceNodeMetrics.pathLen - len(headPath) + if depthReached > metaData.maxDepth { + metaData.maxDepth = depthReached } if sliceNodeMetrics.isLeaf { metaData.leafCount++ @@ -1013,8 +1018,9 @@ func (b *Backend) getSliceTrie(headPath []byte, t state.Trie, response *GetSlice } // Update metadata - if (sliceNodeMetrics.pathLen - len(headPath)) > metaData.maxDepth { - metaData.maxDepth = sliceNodeMetrics.pathLen + depthReached := sliceNodeMetrics.pathLen - len(headPath) + if depthReached > metaData.maxDepth { + metaData.maxDepth = depthReached } if sliceNodeMetrics.isLeaf { metaData.leafCount++