From 5d5f0b0627e9719fa214649b58b282dbfefef79e Mon Sep 17 00:00:00 2001 From: Aliaksandr Valialkin Date: Wed, 10 Feb 2021 17:55:33 +0200 Subject: [PATCH] lib/storage: load metadata before loading indexdb, since indexdb depends on the metadata --- lib/storage/storage.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/storage/storage.go b/lib/storage/storage.go index 3aeccbd5b7..82b2aff9fc 100644 --- a/lib/storage/storage.go +++ b/lib/storage/storage.go @@ -167,10 +167,17 @@ func OpenStorage(path string, retentionMsecs int64) (*Storage, error) { s.prefetchedMetricIDs.Store(&uint64set.Set{}) + // Load metadata + metadataDir := path + "/metadata" + isEmptyDB := !fs.IsPathExist(path + "/indexdb") + if err := fs.MkdirAllIfNotExist(metadataDir); err != nil { + return nil, fmt.Errorf("cannot create %q: %w", metadataDir, err) + } + s.minTimestampForCompositeIndex = mustGetMinTimestampForCompositeIndex(metadataDir, isEmptyDB) + // Load indexdb idbPath := path + "/indexdb" idbSnapshotsPath := idbPath + "/snapshots" - isEmptyDB := !fs.IsPathExist(idbPath) if err := fs.MkdirAllIfNotExist(idbSnapshotsPath); err != nil { return nil, fmt.Errorf("cannot create %q: %w", idbSnapshotsPath, err) } @@ -190,13 +197,6 @@ func OpenStorage(path string, retentionMsecs int64) (*Storage, error) { } s.tb = tb - // Load metadata - metadataDir := path + "/metadata" - if err := fs.MkdirAllIfNotExist(metadataDir); err != nil { - return nil, fmt.Errorf("cannot create %q: %w", metadataDir, err) - } - s.minTimestampForCompositeIndex = mustGetMinTimestampForCompositeIndex(metadataDir, isEmptyDB) - s.startCurrHourMetricIDsUpdater() s.startNextDayMetricIDsUpdater() s.startRetentionWatcher()