Skip to content

Commit f36d349

Browse files
authored
triedb/pathdb: avoid duplicate metadata reads (#32226)
1 parent 30e3a49 commit f36d349

File tree

1 file changed

+3
-8
lines changed

1 file changed

+3
-8
lines changed

triedb/pathdb/history_reader.go

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -122,19 +122,14 @@ type indexReaderWithLimitTag struct {
122122
}
123123

124124
// newIndexReaderWithLimitTag constructs a index reader with indexing position.
125-
func newIndexReaderWithLimitTag(db ethdb.KeyValueReader, state stateIdent) (*indexReaderWithLimitTag, error) {
126-
// Read the last indexed ID before the index reader construction
127-
metadata := loadIndexMetadata(db)
128-
if metadata == nil {
129-
return nil, errors.New("state history hasn't been indexed yet")
130-
}
125+
func newIndexReaderWithLimitTag(db ethdb.KeyValueReader, state stateIdent, limit uint64) (*indexReaderWithLimitTag, error) {
131126
r, err := newIndexReader(db, state)
132127
if err != nil {
133128
return nil, err
134129
}
135130
return &indexReaderWithLimitTag{
136131
reader: r,
137-
limit: metadata.Last,
132+
limit: limit,
138133
db: db,
139134
}, nil
140135
}
@@ -348,7 +343,7 @@ func (r *historyReader) read(state stateIdentQuery, stateID uint64, lastID uint6
348343
// state retrieval
349344
ir, ok := r.readers[state.String()]
350345
if !ok {
351-
ir, err = newIndexReaderWithLimitTag(r.disk, state.stateIdent)
346+
ir, err = newIndexReaderWithLimitTag(r.disk, state.stateIdent, metadata.Last)
352347
if err != nil {
353348
return nil, err
354349
}

0 commit comments

Comments
 (0)