@@ -319,7 +319,7 @@ func (db *DB) retentionCutoff() (b bool, err error) {
319319 last := blocks [len (db .blocks )- 1 ]
320320
321321 mint := last .Meta ().MaxTime - int64 (db .opts .RetentionDuration )
322- dirs , err := retentionCutoffDirs (db .dir , mint )
322+ dirs , err := retentionCutoffDirs (db .logger , db . dir , mint )
323323 if err != nil {
324324 return false , err
325325 }
@@ -433,7 +433,7 @@ func (db *DB) compact() (changes bool, err error) {
433433
434434// retentionCutoffDirs returns all directories of blocks in dir that are strictly
435435// before mint.
436- func retentionCutoffDirs (dir string , mint int64 ) ([]string , error ) {
436+ func retentionCutoffDirs (l log. Logger , dir string , mint int64 ) ([]string , error ) {
437437 df , err := fileutil .OpenDir (dir )
438438 if err != nil {
439439 return nil , errors .Wrapf (err , "open directory" )
@@ -450,7 +450,8 @@ func retentionCutoffDirs(dir string, mint int64) ([]string, error) {
450450 for _ , dir := range dirs {
451451 meta , err := readMetaFile (dir )
452452 if err != nil {
453- return nil , errors .Wrapf (err , "read block meta %s" , dir )
453+ level .Error (l ).Log ("msg" , "reading meta file" , "dir" , dir , "err" , err .Error ())
454+ continue
454455 }
455456 // The first block we encounter marks that we crossed the boundary
456457 // of deletable blocks.
@@ -504,7 +505,8 @@ func (db *DB) reload(deleteable ...string) (err error) {
504505 for _ , dir := range dirs {
505506 meta , err := readMetaFile (dir )
506507 if err != nil {
507- return errors .Wrapf (err , "read meta information %s" , dir )
508+ level .Error (db .logger ).Log ("msg" , "reading meta file" , "dir" , dir , "err" , err .Error ())
509+ continue
508510 }
509511 // If the block is pending for deletion, don't add it to the new block set.
510512 if stringsContain (deleteable , dir ) {
@@ -515,7 +517,8 @@ func (db *DB) reload(deleteable ...string) (err error) {
515517 if ! ok {
516518 b , err = OpenBlock (dir , db .chunkPool )
517519 if err != nil {
518- return errors .Wrapf (err , "open block %s" , dir )
520+ level .Error (db .logger ).Log ("msg" , "couldn't open a block" , "dir" , dir , "err" , err .Error ())
521+ continue
519522 }
520523 }
521524
0 commit comments