mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-12 07:55:24 +00:00
Fix false assert trip
This commit is contained in:
parent
f216dc4ab8
commit
06709faff2
@ -187,7 +187,7 @@ class LiveVersionMap implements ReferenceManager.RefreshListener, Accountable {
|
|||||||
// Deduct tombstones bytes used for the version we just removed or replaced:
|
// Deduct tombstones bytes used for the version we just removed or replaced:
|
||||||
if (prevTombstone != null) {
|
if (prevTombstone != null) {
|
||||||
long v = ramBytesUsedTombstones.addAndGet(-(BASE_BYTES_PER_CHM_ENTRY + prevTombstone.ramBytesUsed() + uidRAMBytesUsed));
|
long v = ramBytesUsedTombstones.addAndGet(-(BASE_BYTES_PER_CHM_ENTRY + prevTombstone.ramBytesUsed() + uidRAMBytesUsed));
|
||||||
assert v >= 0;
|
assert v >= 0: "bytes=" + v;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -200,7 +200,7 @@ class LiveVersionMap implements ReferenceManager.RefreshListener, Accountable {
|
|||||||
if (prev != null) {
|
if (prev != null) {
|
||||||
assert prev.delete();
|
assert prev.delete();
|
||||||
long v = ramBytesUsedTombstones.addAndGet(-(BASE_BYTES_PER_CHM_ENTRY + prev.ramBytesUsed() + uidRAMBytesUsed));
|
long v = ramBytesUsedTombstones.addAndGet(-(BASE_BYTES_PER_CHM_ENTRY + prev.ramBytesUsed() + uidRAMBytesUsed));
|
||||||
assert v >= 0;
|
assert v >= 0: "bytes=" + v;
|
||||||
}
|
}
|
||||||
final VersionValue curVersion = maps.current.get(uid);
|
final VersionValue curVersion = maps.current.get(uid);
|
||||||
if (curVersion != null && curVersion.delete()) {
|
if (curVersion != null && curVersion.delete()) {
|
||||||
@ -226,7 +226,12 @@ class LiveVersionMap implements ReferenceManager.RefreshListener, Accountable {
|
|||||||
maps = new Maps();
|
maps = new Maps();
|
||||||
tombstones.clear();
|
tombstones.clear();
|
||||||
ramBytesUsedCurrent.set(0);
|
ramBytesUsedCurrent.set(0);
|
||||||
ramBytesUsedTombstones.set(0);
|
|
||||||
|
// NOTE: we can't zero this here, because a refresh thread could be calling InternalEngine.pruneDeletedTombstones at the same time,
|
||||||
|
// and this will lead to an assert trip. Presumably it's fine if our ramBytesUsedTombstones is non-zero after clear since the index
|
||||||
|
// is being closed:
|
||||||
|
//ramBytesUsedTombstones.set(0);
|
||||||
|
|
||||||
if (mgr != null) {
|
if (mgr != null) {
|
||||||
mgr.removeListener(this);
|
mgr.removeListener(this);
|
||||||
mgr = null;
|
mgr = null;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user