MB-28753 - document number "xxx" not found
err with update workload Introducer was incorrectly updating the offsets slice of segments, by considering only the live doc count while computing the "running". This can result in incorrectly computing the residing segment as well as the local doc numbers while loading a document after a search hit.
This commit is contained in:
parent
6693a89441
commit
980ce9ebb3
|
@ -154,7 +154,7 @@ func (s *Scorch) introduceSegment(next *segmentIntroduction) error {
|
||||||
newSnapshot.segment = append(newSnapshot.segment, newss)
|
newSnapshot.segment = append(newSnapshot.segment, newss)
|
||||||
root.segment[i].segment.AddRef()
|
root.segment[i].segment.AddRef()
|
||||||
newSnapshot.offsets = append(newSnapshot.offsets, running)
|
newSnapshot.offsets = append(newSnapshot.offsets, running)
|
||||||
running += root.segment[i].Count()
|
running += newss.segment.Count()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -315,7 +315,7 @@ func (s *Scorch) introduceMerge(nextMerge *segmentMerge) {
|
||||||
})
|
})
|
||||||
root.segment[i].segment.AddRef()
|
root.segment[i].segment.AddRef()
|
||||||
newSnapshot.offsets = append(newSnapshot.offsets, running)
|
newSnapshot.offsets = append(newSnapshot.offsets, running)
|
||||||
running += root.segment[i].Count()
|
running += root.segment[i].segment.Count()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue