From ea8ecf35f4372bcb2ca7fabfbb39ed819a81dcd4 Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Tue, 24 Jul 2018 02:44:33 -0700 Subject: [PATCH] set needle AppendAtNs value during writes --- weed/storage/volume_read_write.go | 2 ++ weed/storage/volume_vacuum.go | 1 + 2 files changed, 3 insertions(+) diff --git a/weed/storage/volume_read_write.go b/weed/storage/volume_read_write.go index 3e711708e..20c92f225 100644 --- a/weed/storage/volume_read_write.go +++ b/weed/storage/volume_read_write.go @@ -101,6 +101,7 @@ func (v *Volume) writeNeedle(n *Needle) (size uint32, err error) { } } + n.AppendAtNs = uint64(time.Now().UnixNano()) if size, _, err = n.Append(v.dataFile, v.Version()); err != nil { if e := v.dataFile.Truncate(offset); e != nil { err = fmt.Errorf("%s\ncannot truncate %s: %v", err, v.dataFile.Name(), e) @@ -139,6 +140,7 @@ func (v *Volume) deleteNeedle(n *Needle) (uint32, error) { return size, err } n.Data = nil + n.AppendAtNs = uint64(time.Now().UnixNano()) _, _, err = n.Append(v.dataFile, v.Version()) return size, err } diff --git a/weed/storage/volume_vacuum.go b/weed/storage/volume_vacuum.go index fea5e7d6e..ba3ab6735 100644 --- a/weed/storage/volume_vacuum.go +++ b/weed/storage/volume_vacuum.go @@ -207,6 +207,7 @@ func (v *Volume) makeupDiff(newDatFileName, newIdxFileName, oldDatFileName, oldI fakeDelNeedle := new(Needle) fakeDelNeedle.Id = key fakeDelNeedle.Cookie = 0x12345678 + fakeDelNeedle.AppendAtNs = uint64(time.Now().UnixNano()) _, _, err = fakeDelNeedle.Append(dst, v.Version()) if err != nil { return fmt.Errorf("append deleted %d failed: %v", key, err)