diff options
Diffstat (limited to 'go/storage')
| -rw-r--r-- | go/storage/needle_read_write.go | 2 | ||||
| -rw-r--r-- | go/storage/volume.go | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/go/storage/needle_read_write.go b/go/storage/needle_read_write.go index 9a9f63ddb..eb2d8d459 100644 --- a/go/storage/needle_read_write.go +++ b/go/storage/needle_read_write.go @@ -120,7 +120,7 @@ func (n *Needle) Append(w io.Writer, version Version) (size uint32, err error) { return } } - if n.HasTtl() { + if n.HasTtl() && n.Ttl != nil { n.Ttl.ToBytes(header[0:TtlBytesLength]) if _, err = w.Write(header[0:TtlBytesLength]); err != nil { return diff --git a/go/storage/volume.go b/go/storage/volume.go index 0e6cadecc..998b0dd64 100644 --- a/go/storage/volume.go +++ b/go/storage/volume.go @@ -152,6 +152,9 @@ func (v *Volume) NeedToReplicate() bool { // isFileUnchanged checks whether this needle to write is same as last one. // It requires serialized access in the same volume. func (v *Volume) isFileUnchanged(n *Needle) bool { + if v.Ttl == EMPTY_TTL || v.Ttl.String() == "" { + return true + } nv, ok := v.nm.Get(n.Id) if ok && nv.Offset > 0 { oldNeedle := new(Needle) |
