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]

Reply via email to