The GitHub Actions job "Required Checks" on texera.git/main has failed.
Run started by GitHub user github-merge-queue[bot] (triggered by 
github-merge-queue[bot]).

Head commit for run:
3ced705c721574a06ce7031019fdbbb5ce22106e / Xinyuan Lin <[email protected]>
refactor(amber): centralize uncaught-exception console reporting (#5783)

### What changes were proposed in this PR?

`DataProcessor` built the operator-facing ERROR console message for an
uncaught UDF exception inline (`_report_exception`). This moves that
construction into a small factory —
`core.util.console_message.error_message.create_error_console_message(worker_id,
exc_info) -> ConsoleMessage`. `DataProcessor` builds the message via the
factory and queues it through the existing
`ConsoleMessageManager.put_message`.

Per review, `ConsoleMessageManager` stays purely about **message
management** (its interfaces are all at the `msg: ConsoleMessage`
level); message *construction* lives in the util.

Behavior-preserving: the same ERROR `ConsoleMessage` is produced —

| field | value |
|---|---|
| `msg_type` | `ConsoleMessageType.ERROR` |
| `title` | the exception's final line (e.g. `ValueError: ...`) |
| `message` | the full formatted traceback |
| `source` | `module:func:line` of the raising frame |

Centralizing the factory lets other uncaught-exception paths report
identically (the loop operators' main-loop condition evaluation reuses
it in a follow-up).

### Any related issues, documentation, discussions?

Split out of #5700 (loop operators) to keep that PR focused; the
refactor is independent and behavior-preserving on `main`.

### How was this PR tested?

- New
`test_error_message.py::test_builds_error_console_message_from_exc_info`
pins the factory output (worker id, ERROR type, title, traceback body,
`module:func:line` source) — written test-first.
- The existing `test_data_processor.py` (asserts console messages after
a UDF raises) still passes unchanged, confirming the delegation
preserves behavior.
- `cd amber && pytest -m "not integration"` on the affected files: 12
passed; `black --check` clean.

### Was this PR authored or co-authored using generative AI tooling?

Co-authored with Claude Opus 4.8 in compliance with ASF.

Report URL: https://github.com/apache/texera/actions/runs/27935066995

With regards,
GitHub Actions via GitBox

Reply via email to