From e9d2d0432aa66a9aff8c8558af12e23d47c95265 Mon Sep 17 00:00:00 2001 From: Philipp Moritz Date: Wed, 28 Aug 2019 21:07:52 -0700 Subject: [PATCH] Make RAY_CHECK for actor re-creation non-fatal (#5553) --- src/ray/raylet/node_manager.cc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/ray/raylet/node_manager.cc b/src/ray/raylet/node_manager.cc index 53b84d77d..bb8bce61e 100644 --- a/src/ray/raylet/node_manager.cc +++ b/src/ray/raylet/node_manager.cc @@ -1851,7 +1851,14 @@ std::shared_ptr NodeManager::CreateActorTableDataFromCreationTas } else { // If we've already seen this actor, it means that this actor was reconstructed. // Thus, its previous state must be RECONSTRUCTING. - RAY_CHECK(actor_entry->second.GetState() == ActorTableData::RECONSTRUCTING); + // TODO: The following is a workaround for the issue described in + // https://github.com/ray-project/ray/issues/5524, please see the issue + // description for more information. + if (actor_entry->second.GetState() != ActorTableData::RECONSTRUCTING) { + RAY_LOG(WARNING) << "Actor not in reconstructing state, most likely it " + << "died before creation handler could run. Actor state is " + << actor_entry->second.GetState(); + } // Copy the static fields from the current actor entry. actor_info_ptr.reset(new ActorTableData(actor_entry->second.GetTableData())); // We are reconstructing the actor, so subtract its