2022-10-20 11:09:32 +00:00
|
|
|
#include "ShardPartitionPiece.h"
|
|
|
|
|
2022-10-20 14:37:27 +00:00
|
|
|
#include "ShardPartition.h"
|
|
|
|
#include "TaskShard.h"
|
|
|
|
|
|
|
|
#include <IO/WriteHelpers.h>
|
|
|
|
|
2022-10-20 11:09:32 +00:00
|
|
|
namespace DB
|
|
|
|
{
|
|
|
|
|
2022-10-20 14:37:27 +00:00
|
|
|
ShardPartitionPiece::ShardPartitionPiece(ShardPartition & parent, size_t current_piece_number_, bool is_present_piece_)
|
|
|
|
: is_absent_piece(!is_present_piece_)
|
|
|
|
, current_piece_number(current_piece_number_)
|
|
|
|
, shard_partition(parent)
|
|
|
|
{
|
|
|
|
}
|
2022-10-20 11:09:32 +00:00
|
|
|
|
|
|
|
String ShardPartitionPiece::getPartitionPiecePath() const
|
|
|
|
{
|
|
|
|
return shard_partition.getPartitionPath() + "/piece_" + toString(current_piece_number);
|
|
|
|
}
|
|
|
|
|
|
|
|
String ShardPartitionPiece::getPartitionPieceCleanStartPath() const
|
|
|
|
{
|
|
|
|
return getPartitionPiecePath() + "/clean_start";
|
|
|
|
}
|
|
|
|
|
|
|
|
String ShardPartitionPiece::getPartitionPieceIsDirtyPath() const
|
|
|
|
{
|
|
|
|
return getPartitionPiecePath() + "/is_dirty";
|
|
|
|
}
|
|
|
|
|
|
|
|
String ShardPartitionPiece::getPartitionPieceIsCleanedPath() const
|
|
|
|
{
|
|
|
|
return getPartitionPieceIsDirtyPath() + "/cleaned";
|
|
|
|
}
|
|
|
|
|
|
|
|
String ShardPartitionPiece::getPartitionPieceActiveWorkersPath() const
|
|
|
|
{
|
|
|
|
return getPartitionPiecePath() + "/partition_piece_active_workers";
|
|
|
|
}
|
|
|
|
|
|
|
|
String ShardPartitionPiece::getActiveWorkerPath() const
|
|
|
|
{
|
|
|
|
return getPartitionPieceActiveWorkersPath() + "/" + toString(shard_partition.task_shard.numberInCluster());
|
|
|
|
}
|
|
|
|
|
|
|
|
/// On what shards do we have current partition.
|
|
|
|
String ShardPartitionPiece::getPartitionPieceShardsPath() const
|
|
|
|
{
|
|
|
|
return getPartitionPiecePath() + "/shards";
|
|
|
|
}
|
|
|
|
|
|
|
|
String ShardPartitionPiece::getShardStatusPath() const
|
|
|
|
{
|
|
|
|
return getPartitionPieceShardsPath() + "/" + toString(shard_partition.task_shard.numberInCluster());
|
|
|
|
}
|
|
|
|
|
|
|
|
String ShardPartitionPiece::getPartitionPieceCleanerPath() const
|
|
|
|
{
|
|
|
|
return getPartitionPieceIsDirtyPath() + "/cleaner";
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|