You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-30 19:23:07 +03:00
MCOL-553 Improve error handling for ulimit
Now sends an error to the error log and aborts postConfigure
This commit is contained in:
@ -1345,25 +1345,44 @@ int main(int argc, char* argv[])
|
|||||||
#endif
|
#endif
|
||||||
setupSignalHandlers();
|
setupSignalHandlers();
|
||||||
int err = setupResources();
|
int err = setupResources();
|
||||||
|
string errMsg;
|
||||||
switch (err)
|
switch (err)
|
||||||
{
|
{
|
||||||
case -1:
|
case -1:
|
||||||
case -3:
|
case -3:
|
||||||
cerr << "Error getting file limits, please see non-root install documentation" << endl;
|
errMsg = "Error getting file limits, please see non-root install documentation";
|
||||||
return -1;
|
|
||||||
break;
|
break;
|
||||||
case -2:
|
case -2:
|
||||||
cerr << "Error setting file limits, please see non-root install documentation" << endl;
|
errMsg = "Error setting file limits, please see non-root install documentation";
|
||||||
return -1;
|
|
||||||
break;
|
break;
|
||||||
case -4:
|
case -4:
|
||||||
cerr << "Could not install file limits to required value, please see non-root install documentation" << endl;
|
errMsg = "Could not install file limits to required value, please see non-root install documentation";
|
||||||
return -1;
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (err < 0)
|
||||||
|
{
|
||||||
|
Oam oam;
|
||||||
|
logging::Message::Args args;
|
||||||
|
logging::Message message;
|
||||||
|
args.add( errMsg );
|
||||||
|
message.format(args);
|
||||||
|
logging::LoggingID lid(16);
|
||||||
|
logging::MessageLog ml(lid);
|
||||||
|
ml.logCriticalMessage( message );
|
||||||
|
cerr << errMsg << endl;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
oam.processInitFailure();
|
||||||
|
}
|
||||||
|
catch (...)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
setupCwd(rm);
|
setupCwd(rm);
|
||||||
|
|
||||||
|
@ -297,24 +297,36 @@ int main(int argc, char* argv[])
|
|||||||
mlp = new primitiveprocessor::Logger();
|
mlp = new primitiveprocessor::Logger();
|
||||||
|
|
||||||
int err = setupResources();
|
int err = setupResources();
|
||||||
|
string errMsg;
|
||||||
switch (err)
|
switch (err)
|
||||||
{
|
{
|
||||||
case -1:
|
case -1:
|
||||||
case -3:
|
case -3:
|
||||||
cerr << "Error getting file limits, please see non-root install documentation" << endl;
|
errMsg = "Error getting file limits, please see non-root install documentation";
|
||||||
return -1;
|
|
||||||
break;
|
break;
|
||||||
case -2:
|
case -2:
|
||||||
cerr << "Error setting file limits, please see non-root install documentation" << endl;
|
errMsg = "Error setting file limits, please see non-root install documentation";
|
||||||
return -1;
|
|
||||||
break;
|
break;
|
||||||
case -4:
|
case -4:
|
||||||
cerr << "Could not install file limits to required value, please see non-root install documentation" << endl;
|
errMsg = "Could not install file limits to required value, please see non-root install documentation";
|
||||||
return -1;
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
if (err < 0)
|
||||||
|
{
|
||||||
|
Oam oam;
|
||||||
|
mlp->logMessage(errMsg);
|
||||||
|
cerr << errMsg << endl;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
oam.processInitFailure();
|
||||||
|
}
|
||||||
|
catch (...)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
|
||||||
int serverThreads = 1;
|
int serverThreads = 1;
|
||||||
int serverQueueSize = 10;
|
int serverQueueSize = 10;
|
||||||
|
@ -130,27 +130,7 @@ int main(int argc, char** argv)
|
|||||||
idbdatafile::IDBPolicy::configIDBPolicy();
|
idbdatafile::IDBPolicy::configIDBPolicy();
|
||||||
#endif
|
#endif
|
||||||
Config weConfig;
|
Config weConfig;
|
||||||
int err = setupResources();
|
|
||||||
switch (err)
|
|
||||||
{
|
|
||||||
case -1:
|
|
||||||
case -3:
|
|
||||||
cerr << "Error getting file limits, please see non-root install documentation" << endl;
|
|
||||||
return -1;
|
|
||||||
break;
|
|
||||||
case -2:
|
|
||||||
cerr << "Error setting file limits, please see non-root install documentation" << endl;
|
|
||||||
return -1;
|
|
||||||
break;
|
|
||||||
case -4:
|
|
||||||
cerr << "Could not install file limits to required value, please see non-root install documentation" << endl;
|
|
||||||
return -1;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
ostringstream serverParms;
|
ostringstream serverParms;
|
||||||
serverParms << "pm" << weConfig.getLocalModuleID() << "_WriteEngineServer";
|
serverParms << "pm" << weConfig.getLocalModuleID() << "_WriteEngineServer";
|
||||||
|
|
||||||
@ -205,6 +185,45 @@ int main(int argc, char** argv)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int err = setupResources();
|
||||||
|
string errMsg;
|
||||||
|
switch (err)
|
||||||
|
{
|
||||||
|
case -1:
|
||||||
|
case -3:
|
||||||
|
errMsg = "Error getting file limits, please see non-root install documentation";
|
||||||
|
break;
|
||||||
|
case -2:
|
||||||
|
errMsg = "Error setting file limits, please see non-root install documentation";
|
||||||
|
break;
|
||||||
|
case -4:
|
||||||
|
errMsg = "Could not install file limits to required value, please see non-root install documentation";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (err < 0)
|
||||||
|
{
|
||||||
|
Oam oam;
|
||||||
|
logging::Message::Args args;
|
||||||
|
logging::Message message;
|
||||||
|
args.add( errMsg );
|
||||||
|
message.format(args);
|
||||||
|
logging::LoggingID lid(SUBSYSTEM_ID_WE_SRV);
|
||||||
|
logging::MessageLog ml(lid);
|
||||||
|
ml.logCriticalMessage( message );
|
||||||
|
cerr << errMsg << endl;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
oam.processInitFailure();
|
||||||
|
}
|
||||||
|
catch (...)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
IOSocket ios;
|
IOSocket ios;
|
||||||
size_t mt = 20;
|
size_t mt = 20;
|
||||||
size_t qs = mt * 100;
|
size_t qs = mt * 100;
|
||||||
|
Reference in New Issue
Block a user