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

MCOL-3494: make option for testing configuration to skip retryable errors.

This commit is contained in:
benthompson15
2020-05-08 17:10:37 -05:00
parent 4ebc47bf7a
commit 2951dbed39
3 changed files with 26 additions and 3 deletions

View File

@ -89,7 +89,7 @@ S3Storage::ScopedConnection::~ScopedConnection()
s3->returnConnection(conn);
}
S3Storage::S3Storage()
S3Storage::S3Storage(bool skipRetry) : skipRetryableErrors(skipRetry)
{
/* Check creds from envvars
Get necessary vars from config
@ -239,6 +239,10 @@ 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)
{
return -1;
}
sleep(5);
}
} while (err && retryable_error(err));
@ -329,6 +333,10 @@ 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)
{
return -1;
}
sleep(5);
}
} while (s3err && retryable_error(s3err));
@ -363,6 +371,10 @@ 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)
{
return -1;
}
sleep(5);
}
} while (s3err && s3err != MS3_ERR_NOT_FOUND && retryable_error(s3err));
@ -398,6 +410,10 @@ 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)
{
return -1;
}
sleep(5);
}
} while (s3err && retryable_error(s3err));
@ -447,6 +463,10 @@ 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)
{
return -1;
}
sleep(5);
}
} while (s3err && s3err != MS3_ERR_NOT_FOUND && retryable_error(s3err));