carloea2 opened a new pull request, #8170: URL: https://github.com/apache/texera/pull/8170
### What changes were proposed in this PR? Calculate Python range-shuffle widths from the distinct receiver list that the partitioner actually indexes, matching the Scala implementation. A regression test covers repeated channels to one downstream worker and verifies that an upper-range tuple reaches the final distinct receiver. ### Any related issues, documentation, discussions? Closes #8169 ### How was this PR tested? ```shell python -c "import sys,pytest; sys.path[:0]=[r'C:\Users\carlo\texera\texera-worktrees\fix-pyamber-range-duplicate-channels\amber\src\main\python',r'C:\Users\carlo\texera\texera\amber\src\main\python']; raise SystemExit(pytest.main([r'src/test/python/core/architecture/sendsemantics/test_partitioners.py','-q']))" python -m ruff check amber/src/main/python amber/src/test/python python -m ruff format --check amber/src/main/python amber/src/test/python ``` All 36 focused partitioner tests passed. Ruff lint and formatting passed across 213 Python files. For the live check, I constructed the actual Python range partitioner with channels A, A, and B over range 0 through 8, then sent key 8. Before: it calculated index 2 for a two-receiver list and raised `IndexError`. After: it calculates index 1 and stores the tuple in receiver B's batch. ### Was this PR authored or co-authored using generative AI tooling? Generated-by: Codex GPT-5 -- 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]
