fixes for reading deleted fid

This commit is contained in:
Chris Lu
2020-09-10 14:42:50 -07:00
parent 07ec6c89a0
commit c9ab8d05fa
9 changed files with 43 additions and 25 deletions

View File

@@ -200,12 +200,12 @@ func (v *Volume) syncDelete(n *needle.Needle) (Size, error) {
size := nv.Size
n.Data = nil
n.AppendAtNs = uint64(time.Now().UnixNano())
offset, _, _, err := n.Append(v.DataBackend, v.Version())
_, _, _, err := n.Append(v.DataBackend, v.Version())
if err != nil {
return size, err
}
v.lastAppendAtNs = n.AppendAtNs
if err = v.nm.Delete(n.Id, ToOffset(int64(offset))); err != nil {
if err = v.nm.Delete(n.Id); err != nil {
return size, err
}
return size, err
@@ -238,12 +238,12 @@ func (v *Volume) doDeleteRequest(n *needle.Needle) (Size, error) {
size := nv.Size
n.Data = nil
n.AppendAtNs = uint64(time.Now().UnixNano())
offset, _, _, err := n.Append(v.DataBackend, v.Version())
_, _, _, err := n.Append(v.DataBackend, v.Version())
if err != nil {
return size, err
}
v.lastAppendAtNs = n.AppendAtNs
if err = v.nm.Delete(n.Id, ToOffset(int64(offset))); err != nil {
if err = v.nm.Delete(n.Id); err != nil {
return size, err
}
return size, err
@@ -263,7 +263,7 @@ func (v *Volume) readNeedle(n *needle.Needle, readOption *ReadOption) (int, erro
readSize := nv.Size
if readSize.IsDeleted() {
if readOption != nil && readOption.ReadDeleted && readSize != TombstoneFileSize {
glog.V(3).Infof("reading deleted %s", n.String())
glog.V(3).Infof("reading deleted %s size %d", n.String(), readSize)
readSize = -readSize
} else {
return -1, errors.New("already deleted")