core/filtermaps: delete old bloombits database at startup

This commit is contained in:
Zsolt Felfoldi 2024-12-15 02:43:20 +01:00
parent e1f4f3c2b3
commit a1dd97db40
2 changed files with 10 additions and 2 deletions

View File

@ -233,7 +233,8 @@ func (f *FilterMaps) Start() {
log.Error("Could not load head filter map snapshot", "error", err)
}
}
f.closeWg.Add(1)
f.closeWg.Add(2)
go f.removeBloomBits()
go f.indexerLoop()
}
@ -328,6 +329,13 @@ func (f *FilterMaps) init() error {
return batch.Write()
}
// removeBloomBits removes old bloom bits data from the database.
func (f *FilterMaps) removeBloomBits() {
f.removeDbWithPrefix(rawdb.BloomBitsPrefix, "Removing old bloom bits database")
f.removeDbWithPrefix(rawdb.BloomBitsIndexPrefix, "Removing old bloom bits chain index")
f.closeWg.Done()
}
// removeDbWithPrefix removes data with the given prefix from the database and
// returns true if everything was successfully removed.
func (f *FilterMaps) removeDbWithPrefix(prefix []byte, action string) bool {

View File

@ -106,7 +106,7 @@ var (
blockReceiptsPrefix = []byte("r") // blockReceiptsPrefix + num (uint64 big endian) + hash -> block receipts
txLookupPrefix = []byte("l") // txLookupPrefix + hash -> transaction/receipt lookup metadata
bloomBitsPrefix = []byte("B") // bloomBitsPrefix + bit (uint16 big endian) + section (uint64 big endian) + hash -> bloom bits
BloomBitsPrefix = []byte("B") // BloomBitsPrefix + bit (uint16 big endian) + section (uint64 big endian) + hash -> bloom bits
SnapshotAccountPrefix = []byte("a") // SnapshotAccountPrefix + account hash -> account trie value
SnapshotStoragePrefix = []byte("o") // SnapshotStoragePrefix + account hash + storage hash -> storage trie value
CodePrefix = []byte("c") // CodePrefix + code hash -> account code