Merge pull request #24400 from ianton-ru/log_aws_remove

Add log record for removed from AWS S3 keys
This commit is contained in:
Vladimir 2021-05-25 16:52:11 +03:00 committed by GitHub
commit a9e435816e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -54,6 +54,7 @@ class DiskS3::AwsS3KeyKeeper : public std::list<Aws::Vector<Aws::S3::Model::Obje
{ {
public: public:
void addKey(const String & key); void addKey(const String & key);
static String getChunkKeys(const Aws::Vector<Aws::S3::Model::ObjectIdentifier> & chunk);
private: private:
/// limit for one DeleteObject request /// limit for one DeleteObject request
@ -74,6 +75,19 @@ void DiskS3::AwsS3KeyKeeper::addKey(const String & key)
back().push_back(obj); back().push_back(obj);
} }
String DiskS3::AwsS3KeyKeeper::getChunkKeys(const Aws::Vector<Aws::S3::Model::ObjectIdentifier> & chunk)
{
String res;
for (const auto & obj : chunk)
{
const auto & key = obj.GetKey();
if (!res.empty())
res.append(", ");
res.append(key.c_str(), key.size());
}
return res;
}
String getRandomName() String getRandomName()
{ {
std::uniform_int_distribution<int> distribution('a', 'z'); std::uniform_int_distribution<int> distribution('a', 'z');
@ -794,6 +808,8 @@ void DiskS3::removeAws(const AwsS3KeyKeeper & keys)
for (const auto & chunk : keys) for (const auto & chunk : keys)
{ {
LOG_DEBUG(log, "Remove AWS keys {}", AwsS3KeyKeeper::getChunkKeys(chunk));
Aws::S3::Model::Delete delkeys; Aws::S3::Model::Delete delkeys;
delkeys.SetObjects(chunk); delkeys.SetObjects(chunk);