diff options
Diffstat (limited to 'weed/storage/store.go')
| -rw-r--r-- | weed/storage/store.go | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/weed/storage/store.go b/weed/storage/store.go index 3b2869a2e..2b244cf70 100644 --- a/weed/storage/store.go +++ b/weed/storage/store.go @@ -269,19 +269,23 @@ func (s *Store) CollectHeartbeat() *master_pb.Heartbeat { maxFileKey = curMaxFileKey } shouldDeleteVolume := false - if !v.expired(volumeMessage.Size, s.GetVolumeSizeLimit()) { - volumeMessages = append(volumeMessages, volumeMessage) + + if v.lastIoError != nil { + deleteVids = append(deleteVids, v.Id) + shouldDeleteVolume = true + glog.Warningf("volume %d has IO error: %v", v.Id, v.lastIoError) } else { - if v.expiredLongEnough(MAX_TTL_VOLUME_REMOVAL_DELAY) { - deleteVids = append(deleteVids, v.Id) - shouldDeleteVolume = true + if !v.expired(volumeMessage.Size, s.GetVolumeSizeLimit()) { + volumeMessages = append(volumeMessages, volumeMessage) } else { - glog.V(0).Infof("volume %d is expired", v.Id) - } - if v.lastIoError != nil { - deleteVids = append(deleteVids, v.Id) - shouldDeleteVolume = true - glog.Warningf("volume %d has IO error: %v", v.Id, v.lastIoError) + if v.expiredLongEnough(MAX_TTL_VOLUME_REMOVAL_DELAY) { + if !shouldDeleteVolume { + deleteVids = append(deleteVids, v.Id) + shouldDeleteVolume = true + } + } else { + glog.V(0).Infof("volume %d is expired", v.Id) + } } } |
