1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-08-01 06:46:55 +03:00

MCOL-3494: cleaner way to do this.

This commit is contained in:
benthompson15
2020-05-11 10:51:18 -05:00
parent 0b32ad8107
commit 8a89cb8986

View File

@ -231,7 +231,7 @@ int S3Storage::getObject(const string &_sourceKey, boost::shared_array<uint8_t>
do {
err = ms3_get(creds, bucket.c_str(), sourceKey.c_str(), &_data, &len);
if (err && retryable_error(err))
if (err && (!skipRetryableErrors && retryable_error(err)))
{
if (ms3_server_error(creds))
logger->log(LOG_ERR, "S3Storage::getObject(): failed to GET, server says '%s'. bucket = %s, key = %s."
@ -239,14 +239,9 @@ int S3Storage::getObject(const string &_sourceKey, boost::shared_array<uint8_t>
else
logger->log(LOG_ERR, "S3Storage::getObject(): failed to GET, got '%s'. bucket = %s, key = %s. Retrying...",
s3err_msgs[err], bucket.c_str(), sourceKey.c_str());
if (skipRetryableErrors)
{
errno = EAGAIN;
return -1;
}
sleep(5);
}
} while (err && retryable_error(err));
} while (err && (!skipRetryableErrors && retryable_error(err)));
if (err)
{
if (ms3_server_error(creds))
@ -326,7 +321,7 @@ int S3Storage::putObject(const boost::shared_array<uint8_t> data, size_t len, co
do {
s3err = ms3_put(creds, bucket.c_str(), destKey.c_str(), data.get(), len);
if (s3err && retryable_error(s3err))
if (s3err && (!skipRetryableErrors && retryable_error(s3err)))
{
if (ms3_server_error(creds))
logger->log(LOG_ERR, "S3Storage::putObject(): failed to PUT, server says '%s'. bucket = %s, key = %s."
@ -334,14 +329,9 @@ int S3Storage::putObject(const boost::shared_array<uint8_t> data, size_t len, co
else
logger->log(LOG_ERR, "S3Storage::putObject(): failed to PUT, got '%s'. bucket = %s, key = %s."
" Retrying...", s3err_msgs[s3err], bucket.c_str(), destKey.c_str());
if (skipRetryableErrors)
{
errno = EAGAIN;
return -1;
}
sleep(5);
}
} while (s3err && retryable_error(s3err));
} while (s3err && (!skipRetryableErrors && retryable_error(s3err)));
if (s3err)
{
if (ms3_server_error(creds))
@ -365,7 +355,7 @@ int S3Storage::deleteObject(const string &_key)
do {
s3err = ms3_delete(creds, bucket.c_str(), key.c_str());
if (s3err && s3err != MS3_ERR_NOT_FOUND && retryable_error(s3err))
if (s3err && s3err != MS3_ERR_NOT_FOUND && (!skipRetryableErrors && retryable_error(s3err)))
{
if (ms3_server_error(creds))
logger->log(LOG_ERR, "S3Storage::deleteObject(): failed to DELETE, server says '%s'. bucket = %s, key = %s."
@ -373,14 +363,9 @@ int S3Storage::deleteObject(const string &_key)
else
logger->log(LOG_ERR, "S3Storage::deleteObject(): failed to DELETE, got '%s'. bucket = %s, key = %s. Retrying...",
s3err_msgs[s3err], bucket.c_str(), key.c_str());
if (skipRetryableErrors)
{
errno = EAGAIN;
return -1;
}
sleep(5);
}
} while (s3err && s3err != MS3_ERR_NOT_FOUND && retryable_error(s3err));
} while (s3err && s3err != MS3_ERR_NOT_FOUND && (!skipRetryableErrors && retryable_error(s3err)));
if (s3err != 0 && s3err != MS3_ERR_NOT_FOUND)
{
@ -405,7 +390,7 @@ int S3Storage::copyObject(const string &_sourceKey, const string &_destKey)
do
{
s3err = ms3_copy(creds, bucket.c_str(), sourceKey.c_str(), bucket.c_str(), destKey.c_str());
if (s3err && retryable_error(s3err))
if (s3err && (!skipRetryableErrors && retryable_error(s3err)))
{
if (ms3_server_error(creds))
logger->log(LOG_ERR, "S3Storage::copyObject(): failed to copy, server says '%s'. bucket = %s, srckey = %s, "
@ -413,14 +398,9 @@ int S3Storage::copyObject(const string &_sourceKey, const string &_destKey)
else
logger->log(LOG_ERR, "S3Storage::copyObject(): failed to copy, got '%s'. bucket = %s, srckey = %s, "
" destkey = %s. Retrying...", s3err_msgs[s3err], bucket.c_str(), sourceKey.c_str(), destKey.c_str());
if (skipRetryableErrors)
{
errno = EAGAIN;
return -1;
}
sleep(5);
}
} while (s3err && retryable_error(s3err));
} while (s3err && (!skipRetryableErrors && retryable_error(s3err)));
if (s3err)
{
@ -459,7 +439,7 @@ int S3Storage::exists(const string &_key, bool *out)
do {
s3err = ms3_status(creds, bucket.c_str(), key.c_str(), &status);
if (s3err && s3err != MS3_ERR_NOT_FOUND && retryable_error(s3err))
if (s3err && s3err != MS3_ERR_NOT_FOUND && (!skipRetryableErrors && retryable_error(s3err)))
{
if (ms3_server_error(creds))
logger->log(LOG_ERR, "S3Storage::exists(): failed to HEAD, server says '%s'. bucket = %s, key = %s."
@ -467,14 +447,9 @@ int S3Storage::exists(const string &_key, bool *out)
else
logger->log(LOG_ERR, "S3Storage::exists(): failed to HEAD, got '%s'. bucket = %s, key = %s. Retrying...",
s3err_msgs[s3err], bucket.c_str(), key.c_str());
if (skipRetryableErrors)
{
errno = EAGAIN;
return -1;
}
sleep(5);
}
} while (s3err && s3err != MS3_ERR_NOT_FOUND && retryable_error(s3err));
} while (s3err && s3err != MS3_ERR_NOT_FOUND && (!skipRetryableErrors && retryable_error(s3err)));
if (s3err != 0 && s3err != MS3_ERR_NOT_FOUND)
{