trie: fix size accounting in cleaner (#25007)

Decrease children size instead of dirties size when marking dirties as cleaned up in trie cleaner
This commit is contained in:
aaronbuchwald 2022-06-21 05:00:37 -04:00 committed by qinglin89
parent ce9dae2517
commit fafc29f922

@ -838,7 +838,7 @@ func (c *cleaner) Put(key []byte, rlp []byte) error {
delete(c.db.dirties, hash)
c.db.dirtiesSize -= common.StorageSize(common.HashLength + int(node.size))
if node.children != nil {
c.db.dirtiesSize -= common.StorageSize(cachedNodeChildrenSize + len(node.children)*(common.HashLength+2))
c.db.childrenSize -= common.StorageSize(cachedNodeChildrenSize + len(node.children)*(common.HashLength+2))
}
// Move the flushed node into the clean cache to prevent insta-reloads
if c.db.cleans != nil {