diff --git a/weed/storage/needle_map_memory.go b/weed/storage/needle_map_memory.go index c75514a31..c00c75010 100644 --- a/weed/storage/needle_map_memory.go +++ b/weed/storage/needle_map_memory.go @@ -36,7 +36,7 @@ func LoadCompactNeedleMap(file *os.File) (*NeedleMap, error) { func doLoading(file *os.File, nm *NeedleMap) (*NeedleMap, error) { e := idx.WalkIndexFile(file, 0, func(key NeedleId, offset Offset, size Size) error { nm.MaybeSetMaxFileKey(key) - if !offset.IsZero() && size.IsValid() { + if !offset.IsZero() && !size.IsDeleted() { nm.FileCounter++ nm.FileByteCounter = nm.FileByteCounter + uint64(size) oldOffset, oldSize := nm.m.Set(NeedleId(key), offset, size) diff --git a/weed/storage/volume_write.go b/weed/storage/volume_write.go index 2dc94851c..8cb00bc15 100644 --- a/weed/storage/volume_write.go +++ b/weed/storage/volume_write.go @@ -221,7 +221,7 @@ func (v *Volume) doDeleteRequest(n *needle.Needle) (Size, error) { glog.V(4).Infof("delete needle %s", needle.NewFileIdFromNeedle(v.Id, n).String()) nv, ok := v.nm.Get(n.Id) // fmt.Println("key", n.Id, "volume offset", nv.Offset, "data_size", n.Size, "cached size", nv.Size) - if ok && nv.Size.IsValid() { + if ok && !nv.Size.IsDeleted() { var offset uint64 var err error size := nv.Size