carloea2 opened a new pull request, #8432: URL: https://github.com/apache/texera/pull/8432
### What changes were proposed in this PR? Bind each start/end channel marker to the immutable input-port identity resolved by its control handler. The data processor now invokes the operator lifecycle callback with the marker's port instead of consulting the mutable current data-input slot later. This prevents interleaved control and data events from routing `on_start` or `on_finish` to the wrong input port. Invalid marker port identities and unknown channels fail before mutating port state. ### Any related issues, documentation, discussions? Related to #8319. ### How was this PR tested? ```text python -m pytest -q src/test/python/core/architecture/handlers/control/test_channel_marker_handlers.py src/test/python/core/runnables/test_data_processor.py src/test/python/core/runnables/test_main_loop.py 61 passed in 6.20s ``` ```text python -m ruff check <changed Python files> python -m ruff format --check <changed Python files> All checks passed; 7 files already formatted ``` The complete Amber Python suite also reached 1,313 passing tests and one expected failure. Three unchanged Windows-sensitive tests failed because of pre-epoch timestamp handling and pointer string formatting; none of their files are changed by this PR. ### Was this PR authored or co-authored using generative AI tooling? Generated-by: OpenAI Codex -- 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]
