wait for master to be aware of the failed volumes

fix https://github.com/chrislusf/seaweedfs/issues/1268
This commit is contained in:
Chris Lu
2020-04-08 23:12:37 -07:00
parent 8764bdb9df
commit bb78ab9915

View File

@@ -125,16 +125,18 @@ func (pages *ContinuousDirtyPages) saveExistingLargestPageToStorage() (chunk *fi
return nil, false, nil return nil, false, nil
} }
chunk, err = pages.saveToStorage(maxList.ToReader(), maxList.Offset(), maxList.Size()) for {
if err == nil { chunk, err = pages.saveToStorage(maxList.ToReader(), maxList.Offset(), maxList.Size())
hasSavedData = true if err == nil {
glog.V(3).Infof("%s saveToStorage [%d,%d) %s", pages.f.fullpath(), maxList.Offset(), maxList.Offset()+maxList.Size(), chunk.FileId) hasSavedData = true
} else { glog.V(3).Infof("%s saveToStorage [%d,%d) %s", pages.f.fullpath(), maxList.Offset(), maxList.Offset()+maxList.Size(), chunk.FileId)
glog.V(0).Infof("%s saveToStorage [%d,%d): %v", pages.f.fullpath(), maxList.Offset(), maxList.Offset()+maxList.Size(), err) time.Sleep(5 * time.Second)
return } else {
glog.V(0).Infof("%s saveToStorage [%d,%d): %v", pages.f.fullpath(), maxList.Offset(), maxList.Offset()+maxList.Size(), err)
return
}
} }
return
} }
func (pages *ContinuousDirtyPages) saveToStorage(reader io.Reader, offset int64, size int64) (*filer_pb.FileChunk, error) { func (pages *ContinuousDirtyPages) saveToStorage(reader io.Reader, offset int64, size int64) (*filer_pb.FileChunk, error) {