sshiv012 commented on code in PR #8771:
URL: https://github.com/apache/texera/pull/8771#discussion_r4299928042


##########
frontend/src/app/workspace/component/result-panel/error-frame/error-frame.component.ts:
##########
@@ -107,3 +108,16 @@ export class ErrorFrameComponent implements OnInit {
     }, new Map<string, WorkflowFatalError[]>());
   }
 }
+
+/**
+ * The errors to show for one operator: its own errors, plus errors that are 
not tied to any
+ * operator on the canvas. A Python UDF that fails while starting reports its 
error from the
+ * coordinator ("unknown operator"), and the user looks for it by clicking 
that UDF.
+ */
+export function errorsForOperator(
+  errors: readonly WorkflowFatalError[],
+  operatorId: string,
+  isOnCanvas: (id: string) => boolean
+): WorkflowFatalError[] {
+  return errors.filter(err => err.operatorId === operatorId || 
!isOnCanvas(err.operatorId));

Review Comment:
   Merged main and checked: with #8668, a UDF that fails to start still reached 
the UI as "unknown operator". #8668 tags the error with the worker inside the 
coordinator, but `ControlError` had no worker field, so the web service rebuilt 
it as a plain `Throwable` and lost it. Agreed the filter was too broad, so I 
removed it; this PR now only has the headings and hints.
   
   The attribution fix is in #9015: it carries the worker through 
`ControlError`. With #9015 and this PR together, clicking the failed UDF shows 
its Static Error tab with the error (checked end to end).



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to