You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-08-05 16:15:50 +03:00
MCOL-4989: Fix error handling for misconfigured StorageManager startup. (#2385)
This commit is contained in:
@@ -98,7 +98,7 @@ if __name__ == '__main__':
|
||||
if use_systemd is True:
|
||||
cmd = 'systemctl start mcs-storagemanager'
|
||||
retcode = subprocess.call(cmd, shell=True)
|
||||
if retcode < 0:
|
||||
if retcode != 0:
|
||||
print('Failed to start storagemanager. \
|
||||
{} exits with {}.'.format(cmd, retcode))
|
||||
sys.exit(1)
|
||||
@@ -219,7 +219,7 @@ brm_saves_current.decode("utf-8").replace("BRM_saves", ""), USER)
|
||||
brm_saves_current.decode("utf-8").replace("BRM_saves", ""))
|
||||
try:
|
||||
retcode = subprocess.call(cmd, shell=True)
|
||||
if retcode < 0:
|
||||
if retcode != 0:
|
||||
print('{} exits with {}.'.format(cmd, retcode))
|
||||
sys.exit(1)
|
||||
# systemd services by default works using mysql privileges.
|
||||
@@ -230,3 +230,9 @@ brm_saves_current.decode("utf-8").replace("BRM_saves", ""))
|
||||
shutil.chown(shm_file, USER, GROUP)
|
||||
except OSError as e:
|
||||
sys.exit(1)
|
||||
else:
|
||||
if s3_enabled:
|
||||
print('brm_saves_currenty returned empty string from read_from_sm_with_retry')
|
||||
else:
|
||||
print('brm_saves_currenty returned empty string from read_from_disk')
|
||||
sys.exit(1)
|
||||
|
@@ -56,7 +56,18 @@ CloudStorage* CloudStorage::get()
|
||||
if (inst)
|
||||
return inst;
|
||||
if (type == "s3")
|
||||
{
|
||||
try
|
||||
{
|
||||
inst = new S3Storage();
|
||||
}
|
||||
catch (exception& e)
|
||||
{
|
||||
cout << "S3 Storage Manager Configuration Error:" << endl;
|
||||
cout << e.what() << endl;
|
||||
throw runtime_error("S3Storage: Failed");
|
||||
}
|
||||
}
|
||||
else if (type == "local" || type == "localstorage")
|
||||
inst = new LocalStorage();
|
||||
else
|
||||
|
@@ -52,7 +52,7 @@ static size_t WriteCallback(void* contents, size_t size, size_t nmemb, void* use
|
||||
inline bool retryable_error(uint8_t s3err)
|
||||
{
|
||||
return (s3err == MS3_ERR_RESPONSE_PARSE || s3err == MS3_ERR_REQUEST_ERROR || s3err == MS3_ERR_OOM ||
|
||||
s3err == MS3_ERR_IMPOSSIBLE || s3err == MS3_ERR_AUTH || s3err == MS3_ERR_SERVER ||
|
||||
s3err == MS3_ERR_IMPOSSIBLE || s3err == MS3_ERR_SERVER ||
|
||||
s3err == MS3_ERR_AUTH_ROLE);
|
||||
}
|
||||
|
||||
@@ -294,6 +294,12 @@ void S3Storage::testConnectivityAndPerms()
|
||||
err = deleteObject(testObjKey);
|
||||
if (err)
|
||||
FAIL(DELETE)
|
||||
err = exists(testObjKey, &_exists);
|
||||
if (err)
|
||||
{
|
||||
logger->log(LOG_CRIT, "S3Storage::exists() failed on nonexistent object. Check 'ListBucket' permissions.");
|
||||
FAIL(HEAD)
|
||||
}
|
||||
logger->log(LOG_INFO, "S3Storage: S3 connectivity & permissions are OK");
|
||||
}
|
||||
|
||||
|
@@ -87,6 +87,7 @@ void catFileOffline(const char* filename, int prefixlen)
|
||||
catch (exception& e)
|
||||
{
|
||||
cerr << "smcat catFileOffline FAIL: " << e.what() << endl;
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user