1
0
Fork 0
mirror of https://github.com/chrislusf/seaweedfs synced 2024-07-06 00:57:10 +02:00

volume: find a non-empty offset when binary searching by timestamp

fix https://github.com/chrislusf/seaweedfs/issues/2364
This commit is contained in:
Chris Lu 2021-10-11 16:11:50 -07:00
parent 84d2e1bdd0
commit b530f12327

View file

@ -194,6 +194,16 @@ func (v *Volume) BinarySearchByAppendAtNs(sinceNs uint64) (offset Offset, isLast
err = fmt.Errorf("read entry %d: %v", m, err)
return
}
for ; offset.IsZero() && m < h; m++ {
offset, err = v.readOffsetFromIndex(m)
if err != nil {
err = fmt.Errorf("read entry %d: %v", m, err)
return
}
}
if offset.IsZero() {
return Offset{}, true, nil
}
mNs, nsReadErr := v.readAppendAtNs(offset)
if nsReadErr != nil {