@@ -82,7 +82,6 @@ BucketIndexImpl<IndexT>::BucketIndexImpl(BucketManager& bm,
82
82
xdr::xdr_traits<BucketEntry>::serial_size (BucketEntry{});
83
83
auto fileSize = fs::size (filename.string ());
84
84
auto estimatedNumElems = fileSize / estimatedLedgerEntrySize;
85
- size_t estimatedIndexEntries;
86
85
87
86
// Initialize bloom filter for range index
88
87
if constexpr (std::is_same<IndexT, RangeIndex>::value)
@@ -105,7 +104,7 @@ BucketIndexImpl<IndexT>::BucketIndexImpl(BucketManager& bm,
105
104
params.random_seed = shortHash::getShortHashInitKey ();
106
105
params.compute_optimal_parameters ();
107
106
mData .filter = std::make_unique<bloom_filter>(params);
108
- estimatedIndexEntries = fileSize / mData .pageSize ;
107
+ auto estimatedIndexEntries = fileSize / mData .pageSize ;
109
108
CLOG_DEBUG (
110
109
Bucket,
111
110
" Bloom filter initialized with params: projected element count "
@@ -115,13 +114,11 @@ BucketIndexImpl<IndexT>::BucketIndexImpl(BucketManager& bm,
115
114
params.false_positive_probability ,
116
115
params.optimal_parameters .number_of_hashes ,
117
116
params.optimal_parameters .table_size );
118
- }
119
- else
120
- {
121
- estimatedIndexEntries = estimatedNumElems;
122
- }
123
117
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
+ }
125
122
126
123
XDRInputFileStream in;
127
124
in.open (filename.string ());
0 commit comments