Skip to content

Commit 7b59b05

Browse files
authored
Merge pull request #4273 from SirTyson/bl-memory-fix
Fix memory issue with individual indexes Reviewed-by: marta-lokhova
2 parents 07a1f55 + e6f9b7f commit 7b59b05

File tree

1 file changed

+5
-8
lines changed

1 file changed

+5
-8
lines changed

Diff for: src/bucket/BucketIndexImpl.cpp

+5-8
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,6 @@ BucketIndexImpl<IndexT>::BucketIndexImpl(BucketManager& bm,
8282
xdr::xdr_traits<BucketEntry>::serial_size(BucketEntry{});
8383
auto fileSize = fs::size(filename.string());
8484
auto estimatedNumElems = fileSize / estimatedLedgerEntrySize;
85-
size_t estimatedIndexEntries;
8685

8786
// Initialize bloom filter for range index
8887
if constexpr (std::is_same<IndexT, RangeIndex>::value)
@@ -105,7 +104,7 @@ BucketIndexImpl<IndexT>::BucketIndexImpl(BucketManager& bm,
105104
params.random_seed = shortHash::getShortHashInitKey();
106105
params.compute_optimal_parameters();
107106
mData.filter = std::make_unique<bloom_filter>(params);
108-
estimatedIndexEntries = fileSize / mData.pageSize;
107+
auto estimatedIndexEntries = fileSize / mData.pageSize;
109108
CLOG_DEBUG(
110109
Bucket,
111110
"Bloom filter initialized with params: projected element count "
@@ -115,13 +114,11 @@ BucketIndexImpl<IndexT>::BucketIndexImpl(BucketManager& bm,
115114
params.false_positive_probability,
116115
params.optimal_parameters.number_of_hashes,
117116
params.optimal_parameters.table_size);
118-
}
119-
else
120-
{
121-
estimatedIndexEntries = estimatedNumElems;
122-
}
123117

124-
mData.keysToOffset.reserve(estimatedIndexEntries);
118+
// We don't have a good way of estimating IndividualIndex size, so
119+
// only reserve range indexes
120+
mData.keysToOffset.reserve(estimatedIndexEntries);
121+
}
125122

126123
XDRInputFileStream in;
127124
in.open(filename.string());

0 commit comments

Comments
 (0)