1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-27 21:01:50 +03:00

clang format apply

This commit is contained in:
Leonid Fedorov
2022-01-21 16:43:49 +00:00
parent 6b6411229f
commit 04752ec546
1376 changed files with 393460 additions and 412662 deletions

View File

@ -20,7 +20,6 @@
*
****************************************************************************/
#include <iostream>
#include <signal.h>
#include <string>
@ -45,161 +44,152 @@ using namespace BRM;
using namespace std;
SlaveComm* comm;
bool die= false;
bool die = false;
boost::thread_group monitorThreads;
class Opt
{
protected:
const char *m_progname;
const char *m_nodename;
bool m_fg;
public:
Opt(int argc, char **argv)
:m_progname(argv[0]),
m_nodename(argc > 1 ? argv[1] : nullptr),
m_fg(argc > 2 && string(argv[2]) == "fg")
{ }
protected:
const char* m_progname;
const char* m_nodename;
bool m_fg;
public:
Opt(int argc, char** argv)
: m_progname(argv[0]), m_nodename(argc > 1 ? argv[1] : nullptr), m_fg(argc > 2 && string(argv[2]) == "fg")
{
}
};
class ServiceWorkerNode: public Service, public Opt
class ServiceWorkerNode : public Service, public Opt
{
protected:
void setupChildSignalHandlers();
protected:
void setupChildSignalHandlers();
public:
ServiceWorkerNode(const Opt &opt)
:Service("WorkerNode"), Opt(opt)
{ }
void LogErrno() override
{
perror(m_progname);
log_errno(std::string(m_progname));
}
void ParentLogChildMessage(const std::string &str) override
{
log(str, logging::LOG_TYPE_INFO);
}
int Child() override;
int Run()
{
return m_fg ? Child() : RunForking();
}
public:
ServiceWorkerNode(const Opt& opt) : Service("WorkerNode"), Opt(opt)
{
}
void LogErrno() override
{
perror(m_progname);
log_errno(std::string(m_progname));
}
void ParentLogChildMessage(const std::string& str) override
{
log(str, logging::LOG_TYPE_INFO);
}
int Child() override;
int Run()
{
return m_fg ? Child() : RunForking();
}
};
void stop(int sig)
{
if (!die)
{
die = true;
comm->stop();
monitorThreads.interrupt_all();
}
if (!die)
{
die = true;
comm->stop();
monitorThreads.interrupt_all();
}
}
void reset(int sig)
{
comm->reset();
comm->reset();
}
void ServiceWorkerNode::setupChildSignalHandlers()
{
#ifdef SIGHUP
signal(SIGHUP, reset);
signal(SIGHUP, reset);
#endif
signal(SIGINT, stop);
signal(SIGTERM, stop);
signal(SIGINT, stop);
signal(SIGTERM, stop);
#ifdef SIGPIPE
signal(SIGPIPE, SIG_IGN);
signal(SIGPIPE, SIG_IGN);
#endif
struct sigaction ign;
memset(&ign, 0, sizeof(ign));
ign.sa_handler = fatalHandler;
sigaction(SIGSEGV, &ign, 0);
sigaction(SIGABRT, &ign, 0);
sigaction(SIGFPE, &ign, 0);
struct sigaction ign;
memset(&ign, 0, sizeof(ign));
ign.sa_handler = fatalHandler;
sigaction(SIGSEGV, &ign, 0);
sigaction(SIGABRT, &ign, 0);
sigaction(SIGFPE, &ign, 0);
}
int ServiceWorkerNode::Child()
{
setupChildSignalHandlers();
setupChildSignalHandlers();
SlaveDBRMNode slave;
ShmKeys keys;
SlaveDBRMNode slave;
ShmKeys keys;
try
{
comm = new SlaveComm(std::string(m_nodename), &slave);
NotifyServiceStarted();
}
catch (exception& e)
{
ostringstream os;
os << "An error occured: " << e.what();
cerr << os.str() << endl;
log(os.str());
NotifyServiceInitializationFailed();
return 1;
}
try
{
comm = new SlaveComm(std::string(m_nodename), &slave);
NotifyServiceStarted();
}
catch (exception& e)
{
ostringstream os;
os << "An error occured: " << e.what();
cerr << os.str() << endl;
log(os.str());
NotifyServiceInitializationFailed();
return 1;
}
/* Start 4 threads to monitor write lock state */
monitorThreads.create_thread(RWLockMonitor
(&die, slave.getEMFLLockStatus(), keys.KEYRANGE_EMFREELIST_BASE));
monitorThreads.create_thread(RWLockMonitor
(&die, slave.getEMLockStatus(), keys.KEYRANGE_EXTENTMAP_BASE));
monitorThreads.create_thread(RWLockMonitor
(&die, slave.getVBBMLockStatus(), keys.KEYRANGE_VBBM_BASE));
monitorThreads.create_thread(RWLockMonitor
(&die, slave.getVSSLockStatus(), keys.KEYRANGE_VSS_BASE));
/* Start 4 threads to monitor write lock state */
monitorThreads.create_thread(RWLockMonitor(&die, slave.getEMFLLockStatus(), keys.KEYRANGE_EMFREELIST_BASE));
monitorThreads.create_thread(RWLockMonitor(&die, slave.getEMLockStatus(), keys.KEYRANGE_EXTENTMAP_BASE));
monitorThreads.create_thread(RWLockMonitor(&die, slave.getVBBMLockStatus(), keys.KEYRANGE_VBBM_BASE));
monitorThreads.create_thread(RWLockMonitor(&die, slave.getVSSLockStatus(), keys.KEYRANGE_VSS_BASE));
try
{
comm->run();
}
catch (exception& e)
{
ostringstream os;
os << "An error occurred: " << e.what();
cerr << os.str() << endl;
log(os.str());
return 1;
}
return 0;
try
{
comm->run();
}
catch (exception& e)
{
ostringstream os;
os << "An error occurred: " << e.what();
cerr << os.str() << endl;
log(os.str());
return 1;
}
return 0;
}
int main(int argc, char** argv)
{
Opt opt(argc, argv);
Opt opt(argc, argv);
// Set locale language
setlocale(LC_ALL, "");
setlocale(LC_NUMERIC, "C");
// Set locale language
setlocale(LC_ALL, "");
setlocale(LC_NUMERIC, "C");
BRM::logInit ( BRM::SubSystemLogId_workerNode );
BRM::logInit(BRM::SubSystemLogId_workerNode);
/*
Need to shutdown TheadPool before fork(),
otherwise it would get stuck when trying to join fPruneThread.
*/
joblist::JobStep::jobstepThreadPool.stop();
/*
Need to shutdown TheadPool before fork(),
otherwise it would get stuck when trying to join fPruneThread.
*/
joblist::JobStep::jobstepThreadPool.stop();
if (argc < 2)
{
ostringstream os;
os << "Usage: " << argv[0] << " DBRM_WorkerN";
cerr << os.str() << endl;
log(os.str());
exit(1);
}
if (argc < 2)
{
ostringstream os;
os << "Usage: " << argv[0] << " DBRM_WorkerN";
cerr << os.str() << endl;
log(os.str());
exit(1);
}
// TODO: this should move to child() probably, like in masternode.cpp
idbdatafile::IDBPolicy::configIDBPolicy();
// TODO: this should move to child() probably, like in masternode.cpp
idbdatafile::IDBPolicy::configIDBPolicy();
return ServiceWorkerNode(opt).Run();
return ServiceWorkerNode(opt).Run();
}