forked from cerc-io/plugeth
core/rawdb: open meta file in read only mode (#26009)
This commit is contained in:
parent
d86fe26f67
commit
b9ba6f6e4d
@ -148,20 +148,12 @@ func newTable(path string, name string, readMeter metrics.Meter, writeMeter metr
|
||||
meta *os.File
|
||||
)
|
||||
if readonly {
|
||||
// Will fail if table doesn't exist
|
||||
// Will fail if table index file or meta file is not existent
|
||||
index, err = openFreezerFileForReadOnly(filepath.Join(path, idxName))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
// 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)))
|
||||
meta, err = openFreezerFileForReadOnly(filepath.Join(path, fmt.Sprintf("%s.meta", name)))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user