Unverified Commit a865bc1c authored by youkaichao's avatar youkaichao Committed by GitHub
Browse files

[core] do not send error across process (#16174)


Signed-off-by: default avataryoukaichao <youkaichao@gmail.com>
parent 21802c4b
...@@ -119,10 +119,9 @@ class MultiprocExecutor(Executor): ...@@ -119,10 +119,9 @@ class MultiprocExecutor(Executor):
timeout=dequeue_timeout) timeout=dequeue_timeout)
if status != WorkerProc.ResponseStatus.SUCCESS: if status != WorkerProc.ResponseStatus.SUCCESS:
if isinstance(result, Exception): raise RuntimeError(
raise result "Worker failed with error %s, please check the"
else: " stack trace above for the root cause", result)
raise RuntimeError("Worker failed")
responses[w.rank] = result responses[w.rank] = result
...@@ -378,9 +377,11 @@ class WorkerProc: ...@@ -378,9 +377,11 @@ class WorkerProc:
# Notes have been introduced in python 3.11 # Notes have been introduced in python 3.11
if hasattr(e, "add_note"): if hasattr(e, "add_note"):
e.add_note(traceback.format_exc()) e.add_note(traceback.format_exc())
self.worker_response_mq.enqueue(
(WorkerProc.ResponseStatus.FAILURE, e))
logger.exception("WorkerProc hit an exception: %s", exc_info=e) logger.exception("WorkerProc hit an exception: %s", exc_info=e)
# exception might not be serializable, so we convert it to
# string, only for logging purpose.
self.worker_response_mq.enqueue(
(WorkerProc.ResponseStatus.FAILURE, str(e)))
continue continue
self.worker_response_mq.enqueue( self.worker_response_mq.enqueue(
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment