@@ -87,9 +87,18 @@ def log_error(error, node_name, step='unknown', remote_node=None):
8787 if isinstance (error , TimeoutError ) or isinstance (error , concurrent .futures .TimeoutError ):
8888 error_message = f"Timeout after 3 minutes during { step } "
8989 else :
90- error_message = str (error ).splitlines ()[0 ] if hasattr (error , 'splitlines' ) else str (error )
91- error_message = error_message [:100 ]
92-
90+ try :
91+ if isinstance (error , dict ):
92+ error_message = error .get ("errorType" ) or str (error )
93+ elif hasattr (error , "args" ) and isinstance (error .args [0 ], dict ):
94+ error_message = error .args [0 ].get ("errorType" , str (error ))
95+ else :
96+ error_message = str (error )
97+ except Exception :
98+ error_message = str (error )
99+
100+ error_message = error_message .splitlines ()[0 ][:100 ]
101+
93102 # Create a generic key that groups similar errors
94103 if remote_node :
95104 key = f"{ step } — { type (error ).__name__ } : { error_message } on { remote_node } "
@@ -122,7 +131,6 @@ def log_error(error, node_name, step='unknown', remote_node=None):
122131 # Save back to file
123132 with open (error_file , 'w' ) as f :
124133 json .dump (error_data , f , indent = 2 )
125-
126134
127135def safe_rate (success , fail ):
128136 total = success + fail
0 commit comments