Skip to content

Commit cf7042b

Browse files
committed
emit higher-quality error message on node failure
1 parent 0b55981 commit cf7042b

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

lenskit/lenskit/pipeline/runner.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ def run(self, node: Node[Any], *, required: bool = True) -> Any:
5454
"""
5555
Run the pipleline to obtain the results of a node.
5656
"""
57+
log = _log.bind(node=node.name)
5758
status = self.status[node.name]
5859
if status == "finished":
5960
return self.state[node.name]
@@ -62,13 +63,13 @@ def run(self, node: Node[Any], *, required: bool = True) -> Any:
6263
elif status == "failed": # pragma: nocover
6364
raise RuntimeError(f"{node} previously failed")
6465

65-
trace(self.log, "processing node", node=node.name)
66+
trace(log, "processing node")
6667
self.status[node.name] = "in-progress"
6768
try:
6869
self._run_node(node, required)
6970
self.status[node.name] = "finished"
7071
except Exception as e:
71-
_log.error("node %s failed with error %s", node, e)
72+
log.error("failed to run node", exc_info=e)
7273
self.status[node.name] = "failed"
7374
raise e
7475

0 commit comments

Comments
 (0)