mirror of
https://github.com/wassname/ray.git
synced 2026-07-06 05:16:30 +08:00
Preserve the original exception type when converting to RayTaskError (#5799)
This commit is contained in:
+11
-2
@@ -1002,7 +1002,13 @@ class Worker(object):
|
||||
def _handle_process_task_failure(self, function_descriptor,
|
||||
return_object_ids, error, backtrace):
|
||||
function_name = function_descriptor.function_name
|
||||
failure_object = RayTaskError(function_name, backtrace)
|
||||
if isinstance(error, RayTaskError):
|
||||
# avoid recursively nesting of RayTaskError
|
||||
failure_object = RayTaskError(function_name, backtrace,
|
||||
error.cause_cls)
|
||||
else:
|
||||
failure_object = RayTaskError(function_name, backtrace,
|
||||
error.__class__)
|
||||
failure_objects = [
|
||||
failure_object for _ in range(len(return_object_ids))
|
||||
]
|
||||
@@ -2290,7 +2296,10 @@ def get(object_ids):
|
||||
last_task_error_raise_time = time.time()
|
||||
if isinstance(value, ray.exceptions.UnreconstructableError):
|
||||
worker.dump_object_store_memory_usage()
|
||||
raise value
|
||||
if isinstance(value, RayTaskError):
|
||||
raise value.as_instanceof_cause()
|
||||
else:
|
||||
raise value
|
||||
|
||||
# Run post processors.
|
||||
for post_processor in worker._post_get_hooks:
|
||||
|
||||
Reference in New Issue
Block a user