ClickHouse/dbms/include/DB/Storages/MergeTree/ReplicatedMergeTreeCleanupThread.h
2016-06-07 11:23:15 +03:00

49 lines
1.0 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#pragma once
#include <common/logger_useful.h>
#include <thread>
namespace DB
{
class StorageReplicatedMergeTree;
/** Удаляет устаревшие данные таблицы типа ReplicatedMergeTree.
*/
class ReplicatedMergeTreeCleanupThread
{
public:
ReplicatedMergeTreeCleanupThread(StorageReplicatedMergeTree & storage_);
~ReplicatedMergeTreeCleanupThread()
{
if (thread.joinable())
thread.join();
}
private:
StorageReplicatedMergeTree & storage;
Logger * log;
std::thread thread;
void run();
void iterate();
/// Удалить старые куски с диска и из ZooKeeper.
void clearOldParts();
/// Удалить из ZooKeeper старые записи в логе.
void clearOldLogs();
/// Удалить из ZooKeeper старые хеши блоков. Это делает ведущая реплика.
void clearOldBlocks();
/// TODO Удаление старых quorum/failed_parts
/// TODO Удаление старых nonincrement_block_numbers
};
}