Fix directory file descriptor leak.

This commit is contained in:
Fabian Reinartz 2017-06-12 00:05:04 +02:00
parent d4cb579443
commit 03f95ee096
2 changed files with 6 additions and 0 deletions

View file

@ -300,6 +300,8 @@ func (c *compactor) write(uid ulid.ULID, blocks ...Block) (err error) {
if err != nil {
return errors.Wrap(err, "sync block dir")
}
defer df.Close()
if err := fileutil.Fsync(df); err != nil {
return errors.Wrap(err, "sync block dir")
}
@ -583,6 +585,8 @@ func renameFile(from, to string) error {
if err != nil {
return err
}
defer pdir.Close()
if err = fileutil.Fsync(pdir); err != nil {
return err
}

2
db.go
View file

@ -386,6 +386,8 @@ func retentionCutoff(dir string, mint int64) (bool, error) {
if err != nil {
return false, errors.Wrapf(err, "open directory")
}
defer df.Close()
dirs, err := blockDirs(dir)
if err != nil {
return false, errors.Wrapf(err, "list block dirs %s", dir)