defaulting file ttl to volume ttl

fix https://github.com/chrislusf/seaweedfs/issues/992
This commit is contained in:
Chris Lu 2019-06-26 11:18:23 -07:00
parent 06140f9313
commit c2960c7a86
2 changed files with 8 additions and 0 deletions

View file

@ -48,6 +48,9 @@ func ReadTTL(ttlString string) (*TTL, error) {
// read stored bytes to a ttl // read stored bytes to a ttl
func LoadTTLFromBytes(input []byte) (t *TTL) { func LoadTTLFromBytes(input []byte) (t *TTL) {
if input[0] == 0 && input[1] == 0 {
return EMPTY_TTL
}
return &TTL{Count: input[0], Unit: input[1]} return &TTL{Count: input[0], Unit: input[1]}
} }

View file

@ -91,6 +91,11 @@ func (v *Volume) writeNeedle(n *needle.Needle) (offset uint64, size uint32, isUn
return return
} }
if n.Ttl == needle.EMPTY_TTL && v.Ttl != needle.EMPTY_TTL {
n.SetHasTtl()
n.Ttl = v.Ttl
}
n.AppendAtNs = uint64(time.Now().UnixNano()) n.AppendAtNs = uint64(time.Now().UnixNano())
if offset, size, _, err = n.Append(v.dataFile, v.Version()); err != nil { if offset, size, _, err = n.Append(v.dataFile, v.Version()); err != nil {
return return