aboutsummaryrefslogtreecommitdiff
path: root/weed/storage/volume.go
diff options
context:
space:
mode:
authorKonstantin Lebedev <lebedev_k@tochka.com>2021-06-02 17:07:19 +0500
committerKonstantin Lebedev <lebedev_k@tochka.com>2021-06-02 17:07:19 +0500
commit99ef280c7c8ceb2c063d721e4c1013f99999b5c2 (patch)
tree415997276d527452a6df6b5152ea10417b7d3b0d /weed/storage/volume.go
parent3db1642392580ebfb23fa71791eaa33a04a2047f (diff)
downloadseaweedfs-99ef280c7c8ceb2c063d721e4c1013f99999b5c2.tar.xz
seaweedfs-99ef280c7c8ceb2c063d721e4c1013f99999b5c2.zip
avoid data loss after restarting a container with a volum server
Diffstat (limited to 'weed/storage/volume.go')
-rw-r--r--weed/storage/volume.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/weed/storage/volume.go b/weed/storage/volume.go
index e0638d8a8..c6bf3e329 100644
--- a/weed/storage/volume.go
+++ b/weed/storage/volume.go
@@ -180,10 +180,16 @@ func (v *Volume) Close() {
v.dataFileAccessLock.Lock()
defer v.dataFileAccessLock.Unlock()
if v.nm != nil {
+ if err := v.nm.Sync(); err != nil {
+ glog.Warningf("Volume Close fail to sync volume idx %d", v.Id)
+ }
v.nm.Close()
v.nm = nil
}
if v.DataBackend != nil {
+ if err := v.DataBackend.Sync(); err != nil {
+ glog.Warningf("Volume Close fail to sync volume %d", v.Id)
+ }
_ = v.DataBackend.Close()
v.DataBackend = nil
stats.VolumeServerVolumeCounter.WithLabelValues(v.Collection, "volume").Dec()