core/filtermaps: delete old bloombits database at startup

Zsolt Felfoldi 2 months ago
parent 37c4c2f758
commit 44d2ebb138
  1. 10
      core/filtermaps/filtermaps.go
  2. 2
      core/rawdb/schema.go

@ -223,7 +223,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()
}
@ -318,6 +319,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 {

@ -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

Loading…
Cancel
Save