mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-20 10:52:25 +00:00
Revert "core/state/snapshot: check difflayer staleness early (#27255)"
This reverts commit 9064a57b8c.
This commit is contained in:
parent
91bf667180
commit
ec75d01b62
2 changed files with 1 additions and 15 deletions
|
|
@ -292,14 +292,9 @@ func (dl *diffLayer) Account(hash common.Hash) (*Account, error) {
|
|||
//
|
||||
// Note the returned account is not a copy, please don't modify it.
|
||||
func (dl *diffLayer) AccountRLP(hash common.Hash) ([]byte, error) {
|
||||
dl.lock.RLock()
|
||||
// Check staleness before reaching further.
|
||||
if dl.Stale() {
|
||||
dl.lock.RUnlock()
|
||||
return nil, ErrSnapshotStale
|
||||
}
|
||||
// Check the bloom filter first whether there's even a point in reaching into
|
||||
// all the maps in all the layers below
|
||||
dl.lock.RLock()
|
||||
hit := dl.diffed.Contains(accountBloomHasher(hash))
|
||||
if !hit {
|
||||
hit = dl.diffed.Contains(destructBloomHasher(hash))
|
||||
|
|
@ -366,11 +361,6 @@ func (dl *diffLayer) Storage(accountHash, storageHash common.Hash) ([]byte, erro
|
|||
// Check the bloom filter first whether there's even a point in reaching into
|
||||
// all the maps in all the layers below
|
||||
dl.lock.RLock()
|
||||
// Check staleness before reaching further.
|
||||
if dl.Stale() {
|
||||
dl.lock.RUnlock()
|
||||
return nil, ErrSnapshotStale
|
||||
}
|
||||
hit := dl.diffed.Contains(storageBloomHasher{accountHash, storageHash})
|
||||
if !hit {
|
||||
hit = dl.diffed.Contains(destructBloomHasher(accountHash))
|
||||
|
|
|
|||
|
|
@ -185,10 +185,6 @@ func TestDiskLayerExternalInvalidationPartialFlatten(t *testing.T) {
|
|||
// be returned with junk data. This version of the test retains the bottom diff
|
||||
// layer to check the usual mode of operation where the accumulator is retained.
|
||||
func TestDiffLayerExternalInvalidationPartialFlatten(t *testing.T) {
|
||||
// Un-commenting this triggers the bloom set to be deterministic. The values below
|
||||
// were used to trigger the flaw described in https://github.com/ethereum/go-ethereum/issues/27254.
|
||||
// bloomDestructHasherOffset, bloomAccountHasherOffset, bloomStorageHasherOffset = 14, 24, 5
|
||||
|
||||
// Create an empty base layer and a snapshot tree out of it
|
||||
base := &diskLayer{
|
||||
diskdb: rawdb.NewMemoryDatabase(),
|
||||
|
|
|
|||
Loading…
Reference in a new issue