/
GraphTreeHeap
/
museumdb2
Обзор
Документация
Войти
/
GraphTreeHeap
/
museumdb2
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
db/compaction/compaction_state.cc
46 строк
1 KB
Jay Huh
Fix Compaction Stats for Remote Compaction and Tiered Storage (#13464)
19 мар 2025, 02:28
19 мар 2025, 02:28
cc487ba
Код
Авторство
О чём код?
// Copyright (c) Meta Platforms, Inc. and affiliates. // // This source code is licensed under both the GPLv2 (found in the // COPYING file in the root directory) and Apache 2.0 License // (found in the LICENSE.Apache file in the root directory). // // Copyright (c) 2011 The LevelDB Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. See the AUTHORS file for names of contributors. #include "db/compaction/compaction_state.h" namespace ROCKSDB_NAMESPACE { Slice CompactionState::SmallestUserKey() { for (const auto& sub_compact_state : sub_compact_states) { Slice smallest = sub_compact_state.SmallestUserKey(); if (!smallest.empty()) { return smallest; } } // If there is no finished output, return an empty slice. return Slice{nullptr, 0}; } Slice CompactionState::LargestUserKey() { for (auto it = sub_compact_states.rbegin(); it < sub_compact_states.rend(); ++it) { Slice largest = it->LargestUserKey(); if (!largest.empty()) { return largest; } } // If there is no finished output, return an empty slice. return Slice{nullptr, 0}; } void CompactionState::AggregateCompactionStats( InternalStats::CompactionStatsFull& internal_stats, CompactionJobStats& job_stats) { for (const auto& sc : sub_compact_states) { sc.AggregateCompactionOutputStats(internal_stats); job_stats.Add(sc.compaction_job_stats); } } } // namespace ROCKSDB_NAMESPACE