Skip to content

Commit 05124ff

Browse files
authored
Merge pull request mackerelio#823 from mackerelio/check-log-reduce-errors-when-a-file-in-log-dir-have-just-been-removed
Reduce check-log errors when a file in the log directory has been removed at the moment of running check-log
2 parents a842bce + b9fb42a commit 05124ff

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

check-log/lib/check-log.go

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"context"
77
"crypto/md5"
88
"encoding/json"
9+
"errors"
910
"fmt"
1011
"io"
1112
"log"
@@ -564,20 +565,21 @@ func saveState(f string, state *state) error {
564565
var errFileNotFoundByInode = fmt.Errorf("old file not found")
565566

566567
func findFileByInode(inode uint, dir string) (string, error) {
567-
entries, err := os.ReadDir(dir)
568-
if err != nil {
569-
return "", err
570-
}
568+
entries, readDirErr := os.ReadDir(dir)
571569
for _, entry := range entries {
572570
fi, err := entry.Info()
573-
if err != nil {
571+
if err != nil && !errors.Is(err, os.ErrNotExist) {
574572
return "", err
575573
}
576574
if detectInode(fi) == inode {
577575
return filepath.Join(dir, fi.Name()), nil
578576
}
579577
}
580-
return "", errFileNotFoundByInode
578+
err := errFileNotFoundByInode
579+
if readDirErr != nil {
580+
err = errors.Join(err, readDirErr)
581+
}
582+
return "", err
581583
}
582584

583585
func openOldFile(f string, state *state) (*os.File, error) {

0 commit comments

Comments
 (0)