Skip to content

Commit

Permalink
Revert "core/rawdb: open meta file in read only mode (ethereum#26009)" (
Browse files Browse the repository at this point in the history
ethereum#1879)

This reverts commit b9ba6f6.
  • Loading branch information
NathanBSC authored Sep 19, 2023
1 parent 2c7a07b commit 41f0667
Showing 1 changed file with 10 additions and 2 deletions.
12 changes: 10 additions & 2 deletions core/rawdb/freezer_table.go
Original file line number Diff line number Diff line change
Expand Up @@ -145,12 +145,20 @@ func newTable(path string, name string, readMeter metrics.Meter, writeMeter metr
meta *os.File
)
if readonly {
// Will fail if table index file or meta file is not existent
// Will fail if table doesn't exist
index, err = openFreezerFileForReadOnly(filepath.Join(path, idxName))
if err != nil {
return nil, err
}
meta, err = openFreezerFileForReadOnly(filepath.Join(path, fmt.Sprintf("%s.meta", name)))
// TODO(rjl493456442) change it to read-only mode. Open the metadata file
// in rw mode. It's a temporary solution for now and should be changed
// whenever the tail deletion is actually used. The reason for this hack is
// the additional meta file for each freezer table is added in order to support
// tail deletion, but for most legacy nodes this file is missing. This check
// will suddenly break lots of database relevant commands. So the metadata file
// is always opened for mutation and nothing else will be written except
// the initialization.
meta, err = openFreezerFileForAppend(filepath.Join(path, fmt.Sprintf("%s.meta", name)))
if err != nil {
return nil, err
}
Expand Down

0 comments on commit 41f0667

Please sign in to comment.