summaryrefslogtreecommitdiff
path: root/src/mongo/db/catalog/multi_index_block.cpp
diff options
context:
space:
mode:
authorHenrik Edin <henrik.edin@mongodb.com>2021-11-01 20:27:51 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-11-01 21:22:52 +0000
commit5d1078c60e8f24e027dc72d7ceeac4dab49908b9 (patch)
tree0d81f98332343167a56a7c350f1f3deb8c6da2a7 /src/mongo/db/catalog/multi_index_block.cpp
parent8ac4553c3d5c7509ea708c31a7f0232b2b3d4f4f (diff)
downloadmongo-5d1078c60e8f24e027dc72d7ceeac4dab49908b9.tar.gz
SERVER-61094 Use a dedicated pooled KeyString builder per index
This avoids underlying SharedBuffer to be shared for KeyString for separate indexes. Allows indexes that need to spill to disk to independently free memory instead of being pinned by unrelated other indexes.
Diffstat (limited to 'src/mongo/db/catalog/multi_index_block.cpp')
-rw-r--r--src/mongo/db/catalog/multi_index_block.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/mongo/db/catalog/multi_index_block.cpp b/src/mongo/db/catalog/multi_index_block.cpp
index 2d4bf748a29..bcfc70b604d 100644
--- a/src/mongo/db/catalog/multi_index_block.cpp
+++ b/src/mongo/db/catalog/multi_index_block.cpp
@@ -719,6 +719,7 @@ Status MultiIndexBlock::_insert(OperationContext* opCtx,
try {
idxStatus = _indexes[i].bulk->insert(opCtx,
collection,
+ _indexes[i].block->getPooledBuilder(),
doc,
loc,
_indexes[i].options,