MCPcopy Create free account
hub / github.com/apache/impala / ImpalaShutdownSignalHandler

Function ImpalaShutdownSignalHandler

be/src/common/init.cc:246–268  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

244}
245
246[[noreturn]] static void ImpalaShutdownSignalHandler() {
247 sigset_t signals;
248 CHECK_EQ(0, sigemptyset(&signals));
249 CHECK_EQ(0, sigaddset(&signals, IMPALA_SHUTDOWN_SIGNAL));
250 DCHECK(ExecEnv::GetInstance() != nullptr);
251 DCHECK(ExecEnv::GetInstance()->impala_server() != nullptr);
252 ImpalaServer* impala_server = ExecEnv::GetInstance()->impala_server();
253 while (true) {
254 int signal;
255 int err = sigwait(&signals, &signal);
256 CHECK(err == 0) << "sigwait(): " << GetStrErrMsg(err) << ": " << err;
257 CHECK_EQ(IMPALA_SHUTDOWN_SIGNAL, signal);
258 ShutdownStatusPB shutdown_status;
259 Status status = impala_server->StartShutdown(-1, &shutdown_status);
260 if (!status.ok()) {
261 LOG(ERROR) << "Shutdown signal received but unable to initiate shutdown. Status: "
262 << status.GetDetail();
263 continue;
264 }
265 LOG(INFO) << "Shutdown signal received. Current Shutdown Status: "
266 << ImpalaServer::ShutdownStatusToString(shutdown_status);
267 }
268}
269
270static void PauseMonitorLoop() {
271 if (FLAGS_pause_monitor_warn_threshold_ms <= 0) return;

Callers

nothing calls this directly

Calls 5

GetStrErrMsgFunction · 0.85
StartShutdownMethod · 0.80
GetDetailMethod · 0.80
impala_serverMethod · 0.45
okMethod · 0.45

Tested by

no test coverage detected