core: reset txlookup cache if reorg happens

This commit is contained in:
Gary Rong 2024-01-29 14:34:53 +08:00
parent 7b97c59f2f
commit 064315d6b3

View file

@ -2209,10 +2209,9 @@ func (bc *BlockChain) reorg(oldHead *types.Header, newHead *types.Block) error {
for _, tx := range diffs {
rawdb.DeleteTxLookupEntry(indexesBatch, tx)
}
// Reset the tx lookup cache in case some indexes are removed.
if len(diffs) > 0 {
// Reset the tx lookup cache in case to clear stale txlookups.
bc.txLookupCache.Purge()
}
// Delete all hash markers that are not part of the new canonical chain.
// Because the reorg function does not handle new chain head, all hash
// markers greater than or equal to new chain head should be deleted.