By default, reconstruction should only be enabled for actor creation. (#6613)

* wip

* fix

* fix
This commit is contained in:
Eric Liang
2019-12-26 19:57:50 -08:00
committed by GitHub
parent 98689bd263
commit d3db9e9c1e
8 changed files with 20 additions and 40 deletions
+4
View File
@@ -49,6 +49,10 @@ RAY_CONFIG(bool, new_scheduler_enabled, false)
// Objects larger than this size will be spilled/promoted to plasma.
RAY_CONFIG(int64_t, max_direct_call_object_size, 100 * 1024)
// The min number of retries for direct actor creation tasks. The actual number
// of creation retries will be MAX(actor_creation_min_retries, max_reconstructions).
RAY_CONFIG(uint64_t, actor_creation_min_retries, 3)
/// The initial period for a task execution lease. The lease will expire this
/// many milliseconds after the first acquisition of the lease. Nodes that
/// require an object will not try to reconstruct the task until at least
+4 -2
View File
@@ -650,8 +650,10 @@ Status CoreWorker::CreateActor(const RayFunction &function,
*return_actor_id = actor_id;
TaskSpecification task_spec = builder.Build();
if (actor_creation_options.is_direct_call) {
task_manager_->AddPendingTask(GetCallerId(), rpc_address_, task_spec,
actor_creation_options.max_reconstructions);
task_manager_->AddPendingTask(
GetCallerId(), rpc_address_, task_spec,
std::max(RayConfig::instance().actor_creation_min_retries(),
actor_creation_options.max_reconstructions));
return direct_task_submitter_->SubmitTask(task_spec);
} else {
return local_raylet_client_->SubmitTask(task_spec);