@@ -3279,7 +3279,8 @@ def log_skipped_models(self, snapshot_names: t.Set[str]) -> None:
32793279 super ().log_skipped_models (snapshot_names )
32803280
32813281 def log_failed_models (self , errors : t .List [NodeExecutionFailedError ]) -> None :
3282- self ._errors .extend ([str (ex ) for ex in errors if str (ex ) not in self ._errors ])
3282+ failed_model_errors = [_format_failed_model_error (error ) for error in errors ]
3283+ self ._errors .extend (error for error in failed_model_errors if error not in self ._errors )
32833284 super ().log_failed_models (errors )
32843285
32853286 def _print (self , value : t .Any , ** kwargs : t .Any ) -> None :
@@ -3624,6 +3625,8 @@ def log_skipped_models(self, snapshot_names: t.Set[str]) -> None:
36243625
36253626 def log_failed_models (self , errors : t .List [NodeExecutionFailedError ]) -> None :
36263627 if errors :
3628+ failed_model_errors = [_format_failed_model_error (error ) for error in errors ]
3629+ self ._errors .extend (error for error in failed_model_errors if error not in self ._errors )
36273630 self ._print ("**Failed models**" )
36283631
36293632 error_messages = _format_node_errors (errors )
@@ -4195,11 +4198,7 @@ def _format_node_error(ex: NodeExecutionFailedError) -> str:
41954198
41964199 num_fails = len (errors )
41974200 for i , error in enumerate (errors ):
4198- node_name = ""
4199- if isinstance (error .node , SnapshotId ):
4200- node_name = error .node .name
4201- elif hasattr (error .node , "snapshot_name" ):
4202- node_name = error .node .snapshot_name
4201+ node_name = _node_name (error )
42034202
42044203 msg = _format_node_error (error )
42054204 msg = " " + msg .replace ("\n " , "\n " )
@@ -4211,6 +4210,18 @@ def _format_node_error(ex: NodeExecutionFailedError) -> str:
42114210 return error_messages
42124211
42134212
4213+ def _node_name (error : NodeExecutionFailedError ) -> str :
4214+ if isinstance (error .node , SnapshotId ):
4215+ return error .node .name
4216+ if hasattr (error .node , "snapshot_name" ):
4217+ return error .node .snapshot_name
4218+ return str (error .node )
4219+
4220+
4221+ def _format_failed_model_error (error : NodeExecutionFailedError ) -> str :
4222+ return f"{ _node_name (error )} : { error .__cause__ or error } "
4223+
4224+
42144225def _format_audits_errors (error : NodeAuditsErrors ) -> str :
42154226 error_messages = []
42164227 for err in error .errors :
0 commit comments