Raise application-level exceptions for some failure scenarios. (#2429)

* Raise application level exception for actor methods that can't be executed and failed tasks.

* Retry task forwarding for actor tasks.

* Small cleanups

* Move constant to ray_config.

* Create ForwardTaskOrResubmit method.

* Minor

* Clean up queued tasks for dead actors.

* Some cleanups.

* Linting

* Notify task_dependency_manager_ about failed tasks.

* Manage timer lifetime better.

* Use smart pointers to deallocate the timer.

* Fix

* add comment
This commit is contained in:
Robert Nishihara
2018-07-27 19:53:30 -04:00
committed by Stephanie Wang
parent 24649726dc
commit 2be1ccbd8f
12 changed files with 229 additions and 44 deletions
-9
View File
@@ -300,9 +300,6 @@ class WorkerDeath(unittest.TestCase):
self.assertIn("died or was killed while executing",
ray.error_info()[0]["message"])
@unittest.skipIf(
os.environ.get("RAY_USE_XRAY") == "1",
"This test does not work with xray yet.")
def testActorWorkerDying(self):
ray.init(num_workers=0, driver_mode=ray.SILENT_MODE)
@@ -321,9 +318,6 @@ class WorkerDeath(unittest.TestCase):
self.assertRaises(Exception, lambda: ray.get(consume.remote(obj)))
wait_for_errors(ray_constants.WORKER_DIED_PUSH_ERROR, 1)
@unittest.skipIf(
os.environ.get("RAY_USE_XRAY") == "1",
"This test does not work with xray yet.")
def testActorWorkerDyingFutureTasks(self):
ray.init(num_workers=0, driver_mode=ray.SILENT_MODE)
@@ -346,9 +340,6 @@ class WorkerDeath(unittest.TestCase):
wait_for_errors(ray_constants.WORKER_DIED_PUSH_ERROR, 1)
@unittest.skipIf(
os.environ.get("RAY_USE_XRAY") == "1",
"This test does not work with xray yet.")
def testActorWorkerDyingNothingInProgress(self):
ray.init(num_workers=0, driver_mode=ray.SILENT_MODE)