Browse Source

Merge pull request #9683 from gyuho/sss

*: clarify missing snapshot file error message/warning
Gyuho Lee 7 years ago
parent
commit
62dfb89a89
2 changed files with 12 additions and 3 deletions
  1. 2 2
      etcdserver/backend.go
  2. 10 1
      raftsnap/db.go

+ 2 - 2
etcdserver/backend.go

@@ -42,10 +42,10 @@ func newBackend(cfg ServerConfig) backend.Backend {
 func openSnapshotBackend(cfg ServerConfig, ss *raftsnap.Snapshotter, snapshot raftpb.Snapshot) (backend.Backend, error) {
 func openSnapshotBackend(cfg ServerConfig, ss *raftsnap.Snapshotter, snapshot raftpb.Snapshot) (backend.Backend, error) {
 	snapPath, err := ss.DBFilePath(snapshot.Metadata.Index)
 	snapPath, err := ss.DBFilePath(snapshot.Metadata.Index)
 	if err != nil {
 	if err != nil {
-		return nil, fmt.Errorf("database snapshot file path error: %v", err)
+		return nil, fmt.Errorf("failed to find database snapshot file (%v)", err)
 	}
 	}
 	if err := os.Rename(snapPath, cfg.backendPath()); err != nil {
 	if err := os.Rename(snapPath, cfg.backendPath()); err != nil {
-		return nil, fmt.Errorf("rename snapshot file error: %v", err)
+		return nil, fmt.Errorf("failed to rename database snapshot file (%v)", err)
 	}
 	}
 	return openBackend(cfg), nil
 	return openBackend(cfg), nil
 }
 }

+ 10 - 1
raftsnap/db.go

@@ -76,9 +76,18 @@ func (s *Snapshotter) DBFilePath(id uint64) (string, error) {
 	if _, err := fileutil.ReadDir(s.dir); err != nil {
 	if _, err := fileutil.ReadDir(s.dir); err != nil {
 		return "", err
 		return "", err
 	}
 	}
-	if fn := s.dbFilePath(id); fileutil.Exist(fn) {
+	fn := s.dbFilePath(id)
+	if fileutil.Exist(fn) {
 		return fn, nil
 		return fn, nil
 	}
 	}
+	if s.lg != nil {
+		s.lg.Warn(
+			"failed to find [SNAPSHOT-INDEX].snap.db",
+			zap.Uint64("snapshot-index", id),
+			zap.String("snapshot-file-path", fn),
+			zap.Error(ErrNoDBSnapshot),
+		)
+	}
 	return "", ErrNoDBSnapshot
 	return "", ErrNoDBSnapshot
 }
 }