commit
51a048e6b3
|
@ -26,6 +26,7 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
pioutil "github.com/coreos/etcd/pkg/ioutil"
|
||||||
"github.com/coreos/etcd/pkg/pbutil"
|
"github.com/coreos/etcd/pkg/pbutil"
|
||||||
"github.com/coreos/etcd/raft"
|
"github.com/coreos/etcd/raft"
|
||||||
"github.com/coreos/etcd/raft/raftpb"
|
"github.com/coreos/etcd/raft/raftpb"
|
||||||
|
@ -83,9 +84,14 @@ func (s *Snapshotter) save(snapshot *raftpb.Snapshot) error {
|
||||||
marshallingDurations.Observe(float64(time.Since(start)) / float64(time.Second))
|
marshallingDurations.Observe(float64(time.Since(start)) / float64(time.Second))
|
||||||
}
|
}
|
||||||
|
|
||||||
err = ioutil.WriteFile(path.Join(s.dir, fname), d, 0666)
|
err = pioutil.WriteAndSyncFile(path.Join(s.dir, fname), d, 0666)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
saveDurations.Observe(float64(time.Since(start)) / float64(time.Second))
|
saveDurations.Observe(float64(time.Since(start)) / float64(time.Second))
|
||||||
|
} else {
|
||||||
|
err1 := os.Remove(path.Join(s.dir, fname))
|
||||||
|
if err1 != nil {
|
||||||
|
plog.Errorf("failed to remove broken snapshot file %s", path.Join(s.dir, fname))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue