clientv3: v3Manager#saveDB should always close db file (#11838)

Signed-off-by: Ted Yu <yuzhihong@gmail.com>
This commit is contained in:
Zhihong Yu
2020-05-04 15:46:36 -07:00
committed by GitHub
parent 4a64198a9f
commit df1d2ca78e

View File

@@ -338,6 +338,13 @@ func (s *v3Manager) saveDB() error {
if dberr != nil {
return dberr
}
dbClosed := false
defer func() {
if !dbClosed {
db.Close()
dbClosed = true
}
}()
if _, err := io.Copy(db, f); err != nil {
return err
}
@@ -375,6 +382,7 @@ func (s *v3Manager) saveDB() error {
// db hash is OK, can now modify DB so it can be part of a new cluster
db.Close()
dbClosed = true
commit := len(s.cl.Members())