eugenegujing opened a new issue, #7813: URL: https://github.com/apache/texera/issues/7813
### Task Summary `amber/src/main/python/core/architecture/packaging/output_manager.py` is the Python worker's entire output side: it registers output ports and their schemas (`add_output_port`), builds one `Partitioner` per downstream link from a five-entry dispatch table (`add_partitioning`), fans tuples out and serialises them against the port schema (`tuple_to_batch`, `tuple_to_frame`), flushes embedded control messages and state (`emit_ecm`, `emit_state`), and mirrors output tuples into iceberg storage (`save_tuple_to_storage_if_needed`). The gap is semantic rather than line-level: nearly every line executes during `test_main_loop.py`'s end-to-end worker tests, but a grep across `amber/src/test/python` finds no assertion on any of the behaviours above. `add_partitioning` is only ever reached with `OneToOnePartitioning`, so four of the five dispatch entries are never selected through `OutputManager`; `emit_state` appears solely as a monkeypatch target; `add_output_port`'s assertions run against a `MagicMock`, pinning what the caller passes rather than what the method does; and `save_tuple_to_storage_if_needed` has no tests at all, even though its twin `save_state_to_storage_if_needed` has five in the same file. `test_output_manager.py` (209 lines) should be extended to assert these directly. ### Task Type - [ ] Refactor / Cleanup - [ ] DevOps / Deployment / CI - [ ] Testing / QA - [ ] Documentation - [ ] Performance - [ ] Other -- 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]
