Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 10 additions & 6 deletions be/src/olap/rowset/segment_v2/ordinal_page_index.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,11 @@ Status OrdinalIndexReader::_load(bool use_page_cache, bool kept_in_memory,
_num_pages = reader.count();
_ordinals.resize(_num_pages + 1);
_pages.resize(_num_pages);

g_ordinal_index_memory_bytes << sizeof(*this) + _ordinals.size() * sizeof(ordinal_t) +
_pages.size() * sizeof(PagePointer) +
sizeof(OrdinalIndexReader);

for (int i = 0; i < _num_pages; i++) {
Slice key = reader.get_key(i);
ordinal_t ordinal = 0;
Expand All @@ -127,9 +132,6 @@ Status OrdinalIndexReader::_load(bool use_page_cache, bool kept_in_memory,
}
_ordinals[_num_pages] = _num_values;

g_ordinal_index_memory_bytes << sizeof(*this) + _ordinals.size() * sizeof(ordinal_t) +
_pages.size() * sizeof(PagePointer) +
sizeof(OrdinalIndexReader);
return Status::OK();
}

Expand All @@ -155,9 +157,11 @@ OrdinalPageIndexIterator OrdinalIndexReader::seek_at_or_before(ordinal_t ordinal
}

OrdinalIndexReader::~OrdinalIndexReader() {
g_ordinal_index_memory_bytes << -sizeof(*this) - _ordinals.size() * sizeof(ordinal_t) -
_pages.size() * sizeof(PagePointer) -
sizeof(OrdinalIndexReader);
if (_ordinals.size() > 0) {
g_ordinal_index_memory_bytes << -sizeof(*this) - _ordinals.size() * sizeof(ordinal_t) -
_pages.size() * sizeof(PagePointer) -
sizeof(OrdinalIndexReader);
}
}

} // namespace segment_v2
Expand Down
12 changes: 7 additions & 5 deletions be/src/olap/rowset/segment_v2/zone_map_index.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,9 @@ Status ZoneMapIndexReader::_load(bool use_page_cache, bool kept_in_memory,

_page_zone_maps.resize(reader.num_values());

g_zone_map_memory_bytes << sizeof(*this) + sizeof(ZoneMapPB) * _page_zone_maps.size() +
sizeof(IndexedColumnMetaPB);

// read and cache all page zone maps
for (int i = 0; i < reader.num_values(); ++i) {
size_t num_to_read = 1;
Expand All @@ -176,16 +179,15 @@ Status ZoneMapIndexReader::_load(bool use_page_cache, bool kept_in_memory,
}
}

g_zone_map_memory_bytes << sizeof(*this) + sizeof(ZoneMapPB) * _page_zone_maps.size() +
sizeof(IndexedColumnMetaPB);

return Status::OK();
}

ZoneMapIndexReader::~ZoneMapIndexReader() {
// Maybe wrong due to load failures.
g_zone_map_memory_bytes << -sizeof(*this) - sizeof(ZoneMapPB) * _page_zone_maps.size() -
sizeof(IndexedColumnMetaPB);
if (_page_zone_maps.size() > 0) {
g_zone_map_memory_bytes << -sizeof(*this) - sizeof(ZoneMapPB) * _page_zone_maps.size() -
sizeof(IndexedColumnMetaPB);
}
}
#define APPLY_FOR_PRIMITITYPE(M) \
M(TYPE_TINYINT) \
Expand Down