| 546 | ThreadSafeRandom ImpalaServer::rng_(GetRandomSeed32()); |
| 547 | |
| 548 | ImpalaServer::ImpalaServer(ExecEnv* exec_env) |
| 549 | : exec_env_(exec_env), |
| 550 | services_started_(false), |
| 551 | shutdown_deadline_cancel_queries_(false) { |
| 552 | // Initialize default config |
| 553 | InitializeConfigVariables(); |
| 554 | |
| 555 | Status status = exec_env_->frontend()->ValidateSettings(); |
| 556 | if (!status.ok()) { |
| 557 | LOG(ERROR) << status.GetDetail(); |
| 558 | if (FLAGS_abort_on_config_error) { |
| 559 | CLEAN_EXIT_WITH_ERROR( |
| 560 | "Aborting Impala Server startup due to improper configuration"); |
| 561 | } |
| 562 | } |
| 563 | |
| 564 | status = exec_env_->tmp_file_mgr()->Init(exec_env_->metrics()); |
| 565 | if (!status.ok()) { |
| 566 | LOG(ERROR) << status.GetDetail(); |
| 567 | if (FLAGS_abort_on_config_error) { |
| 568 | CLEAN_EXIT_WITH_ERROR("Aborting Impala Server startup due to improperly " |
| 569 | "configured scratch directories."); |
| 570 | } |
| 571 | } |
| 572 | |
| 573 | if (!InitProfileLogging().ok()) { |
| 574 | LOG(ERROR) << "Query profile archival is disabled"; |
| 575 | FLAGS_log_query_to_file = false; |
| 576 | } |
| 577 | |
| 578 | if (!InitAuditEventLogging().ok()) { |
| 579 | CLEAN_EXIT_WITH_ERROR("Aborting Impala Server startup due to failure initializing " |
| 580 | "audit event logging"); |
| 581 | } |
| 582 | |
| 583 | if (!InitLineageLogging().ok()) { |
| 584 | CLEAN_EXIT_WITH_ERROR("Aborting Impala Server startup due to failure initializing " |
| 585 | "lineage logging"); |
| 586 | } |
| 587 | |
| 588 | if (!FLAGS_authorized_proxy_user_config.empty()) { |
| 589 | Status status = PopulateAuthorizedProxyConfig(FLAGS_authorized_proxy_user_config, |
| 590 | FLAGS_authorized_proxy_user_config_delimiter, &authorized_proxy_user_config_); |
| 591 | if (!status.ok()) { |
| 592 | CLEAN_EXIT_WITH_ERROR(Substitute("Invalid proxy user configuration." |
| 593 | "No mapping value specified for the proxy user. For more information review " |
| 594 | "usage of the --authorized_proxy_user_config flag: $0", status.GetDetail())); |
| 595 | } |
| 596 | } |
| 597 | |
| 598 | if (!FLAGS_authorized_proxy_group_config.empty()) { |
| 599 | Status status = PopulateAuthorizedProxyConfig(FLAGS_authorized_proxy_group_config, |
| 600 | FLAGS_authorized_proxy_group_config_delimiter, &authorized_proxy_group_config_); |
| 601 | if (!status.ok()) { |
| 602 | CLEAN_EXIT_WITH_ERROR(Substitute("Invalid proxy group configuration. " |
| 603 | "No mapping value specified for the proxy group. For more information review " |
| 604 | "usage of the --authorized_proxy_group_config flag: $0", status.GetDetail())); |
| 605 | } |
nothing calls this directly
no test coverage detected