Fix dashboard agent check ppid is raylet pid (#12256)

* Dashboard agent check ppid is raylet pid

* Improve implementation

* Refine code

* Make the RAY_NODE_PID environment required for dashboard agent

Co-authored-by: 刘宝 <po.lb@antfin.com>
This commit is contained in:
fyrestone
2020-12-09 09:12:34 -05:00
committed by GitHub
co-authored by 刘宝
parent 840de49161
commit 3ce9286977
3 changed files with 11 additions and 1 deletions
+2
View File
@@ -58,8 +58,10 @@ void AgentManager::StartAgent() {
}
argv.push_back(NULL);
// Set node id to agent.
static std::string pid_string = std::to_string(getpid());
ProcessEnvironment env;
env.insert({"RAY_NODE_ID", options_.node_id.Hex()});
env.insert({"RAY_NODE_PID", pid_string});
Process child(argv.data(), nullptr, ec, false, env);
if (!child.IsValid() || ec) {
// The worker failed to start. This is a fatal error.