mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-11-21 14:44:00 +00:00
lib/storage: fix a bug, which prevents from reading pre-v1.90.0 parts
The bug has been introduced in c0b852d50d
This commit is contained in:
parent
3727251910
commit
2a2036160d
1 changed files with 13 additions and 12 deletions
|
@ -135,19 +135,20 @@ func (ph *partHeader) MustReadMetadata(partPath string) {
|
|||
ph.Reset()
|
||||
|
||||
metadataPath := filepath.Join(partPath, metadataFilename)
|
||||
metadata, err := os.ReadFile(metadataPath)
|
||||
if err != nil {
|
||||
if os.IsNotExist(err) {
|
||||
// This is a part created before v1.90.0.
|
||||
// Fall back to reading the metadata from the partPath itsel
|
||||
if err := ph.ParseFromPath(partPath); err != nil {
|
||||
logger.Panicf("FATAL: cannot parse metadata from %q: %s", partPath, err)
|
||||
}
|
||||
if !fs.IsPathExist(metadataPath) {
|
||||
// This is a part created before v1.90.0.
|
||||
// Fall back to reading the metadata from the partPath itsel
|
||||
if err := ph.ParseFromPath(partPath); err != nil {
|
||||
logger.Panicf("FATAL: cannot parse metadata from %q: %s", partPath, err)
|
||||
}
|
||||
} else {
|
||||
metadata, err := os.ReadFile(metadataPath)
|
||||
if err != nil {
|
||||
logger.Panicf("FATAL: cannot read %q: %s", metadataPath, err)
|
||||
}
|
||||
if err := json.Unmarshal(metadata, ph); err != nil {
|
||||
logger.Panicf("FATAL: cannot parse %q: %s", metadataPath, err)
|
||||
}
|
||||
logger.Panicf("FATAL: cannot read %q: %s", metadataPath, err)
|
||||
}
|
||||
if err := json.Unmarshal(metadata, ph); err != nil {
|
||||
logger.Panicf("FATAL: cannot parse %q: %s", metadataPath, err)
|
||||
}
|
||||
|
||||
// Perform various checks
|
||||
|
|
Loading…
Reference in a new issue