aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2019-04-15 21:58:43 -0700
committerChris Lu <chris.lu@gmail.com>2019-04-15 21:58:43 -0700
commitf567777d6464efdb0000eac527755a15a589930c (patch)
tree25744fc60e1d77c413d9f5a7c7ae89b8f9ebd1d6
parentbd76ad0ff1d1bb81cb77cb3417968d3b496380b4 (diff)
downloadseaweedfs-f567777d6464efdb0000eac527755a15a589930c.tar.xz
seaweedfs-f567777d6464efdb0000eac527755a15a589930c.zip
volume: fix needle checking for deleted needles
-rw-r--r--weed/storage/volume_read_write.go4
1 files changed, 2 insertions, 2 deletions
diff --git a/weed/storage/volume_read_write.go b/weed/storage/volume_read_write.go
index 93f4ed1c1..363835eb9 100644
--- a/weed/storage/volume_read_write.go
+++ b/weed/storage/volume_read_write.go
@@ -21,11 +21,11 @@ func (v *Volume) isFileUnchanged(n *Needle) bool {
return false
}
nv, ok := v.nm.Get(n.Id)
- if ok && !nv.Offset.IsZero() {
+ if ok && !nv.Offset.IsZero() && nv.Size != TombstoneFileSize {
oldNeedle := new(Needle)
err := oldNeedle.ReadData(v.dataFile, nv.Offset.ToAcutalOffset(), nv.Size, v.Version())
if err != nil {
- glog.V(0).Infof("Failed to check updated file %v", err)
+ glog.V(0).Infof("Failed to check updated file at offset %d size %d: %v", nv.Offset.ToAcutalOffset(), nv.Size, err)
return false
}
if oldNeedle.Checksum == n.Checksum && bytes.Equal(oldNeedle.Data, n.Data) {