@@ -971,9 +971,9 @@ class LevelIterator final : public InternalIterator {
971
971
TableCache* table_cache, const ReadOptions& read_options,
972
972
const FileOptions& file_options, const InternalKeyComparator& icomparator,
973
973
const LevelFilesBrief* flevel, const MutableCFOptions& mutable_cf_options,
974
- bool should_sample, HistogramImpl* file_read_hist ,
975
- TableReaderCaller caller, bool skip_filters, int level ,
976
- RangeDelAggregator* range_del_agg,
974
+ bool should_sample, InternalStats* internal_stats ,
975
+ HistogramImpl* file_read_hist, TableReaderCaller caller ,
976
+ bool skip_filters, int level, RangeDelAggregator* range_del_agg,
977
977
const std::vector<AtomicCompactionUnitBoundary>* compaction_boundaries =
978
978
nullptr ,
979
979
bool allow_unprepared_value = false ,
@@ -987,6 +987,7 @@ class LevelIterator final : public InternalIterator {
987
987
flevel_(flevel),
988
988
mutable_cf_options_(mutable_cf_options),
989
989
prefix_extractor_(mutable_cf_options.prefix_extractor.get()),
990
+ internal_stats_(internal_stats),
990
991
file_read_hist_(file_read_hist),
991
992
caller_(caller),
992
993
file_index_(flevel_->num_files),
@@ -1149,7 +1150,8 @@ class LevelIterator final : public InternalIterator {
1149
1150
return table_cache_->NewIterator (
1150
1151
read_options_, file_options_, icomparator_, *file_meta.file_metadata ,
1151
1152
range_del_agg_, mutable_cf_options_,
1152
- nullptr /* don't need reference to table */ , file_read_hist_, caller_,
1153
+ nullptr /* don't need reference to table */ , internal_stats_,
1154
+ file_read_hist_, caller_,
1153
1155
/* arena=*/ nullptr , skip_filters_, level_,
1154
1156
/* max_file_size_for_l0_meta_pin=*/ 0 , smallest_compaction_key,
1155
1157
largest_compaction_key, allow_unprepared_value_, &read_seq_,
@@ -1180,6 +1182,7 @@ class LevelIterator final : public InternalIterator {
1180
1182
const MutableCFOptions& mutable_cf_options_;
1181
1183
const SliceTransform* prefix_extractor_;
1182
1184
1185
+ InternalStats* internal_stats_;
1183
1186
HistogramImpl* file_read_hist_;
1184
1187
TableReaderCaller caller_;
1185
1188
size_t file_index_;
@@ -2038,7 +2041,8 @@ void Version::AddIteratorsForLevel(const ReadOptions& read_options,
2038
2041
auto table_iter = cfd_->table_cache ()->NewIterator (
2039
2042
read_options, soptions, cfd_->internal_comparator (),
2040
2043
*file.file_metadata , /* range_del_agg=*/ nullptr , mutable_cf_options_,
2041
- nullptr , cfd_->internal_stats ()->GetFileReadHist (0 ),
2044
+ nullptr , cfd_->internal_stats (),
2045
+ cfd_->internal_stats ()->GetFileReadHist (0 ),
2042
2046
TableReaderCaller::kUserIterator , arena,
2043
2047
/* skip_filters=*/ false , /* level=*/ 0 , max_file_size_for_l0_meta_pin_,
2044
2048
/* smallest_compaction_key=*/ nullptr ,
@@ -2111,7 +2115,7 @@ Status Version::OverlapWithLevelIterator(const ReadOptions& read_options,
2111
2115
ScopedArenaPtr<InternalIterator> iter (cfd_->table_cache ()->NewIterator (
2112
2116
read_options, file_options, cfd_->internal_comparator (),
2113
2117
*file->file_metadata , &range_del_agg, mutable_cf_options_, nullptr ,
2114
- cfd_->internal_stats ()->GetFileReadHist (0 ),
2118
+ cfd_->internal_stats (), cfd_-> internal_stats () ->GetFileReadHist (0 ),
2115
2119
TableReaderCaller::kUserIterator , &arena,
2116
2120
/* skip_filters=*/ false , /* level=*/ 0 , max_file_size_for_l0_meta_pin_,
2117
2121
/* smallest_compaction_key=*/ nullptr ,
@@ -7086,7 +7090,7 @@ InternalIterator* VersionSet::MakeInputIterator(
7086
7090
read_options, file_options_compactions,
7087
7091
cfd->internal_comparator (), fmd, range_del_agg,
7088
7092
*c->mutable_cf_options (),
7089
- /* table_reader_ptr=*/ nullptr ,
7093
+ /* table_reader_ptr=*/ nullptr , cfd-> internal_stats (),
7090
7094
/* file_read_hist=*/ nullptr , TableReaderCaller::kCompaction ,
7091
7095
/* arena=*/ nullptr ,
7092
7096
/* skip_filters=*/ false ,
0 commit comments