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:
988c655597f30e89cd2887dc8c7f27499ad0fef8 / Matthew B. <[email protected]>
refactor(pyamber): extract shared base for indexed shuffle partitioners (#8920)

### What changes were proposed in this PR?
- Add `IndexedShufflePartitioner` (new
`indexed_shuffle_partitioner.py`), a base that owns the shared shuffle
machinery: the `__init__` (batch size + per-worker receiver slots),
`add_tuple_to_batch`, `flush`, and `flush_state`.
- Reduce `RoundRobinPartitioner`, `HashBasedShufflePartitioner`, and
`RangeBasedShufflePartitioner` to just their routing: an abstract
`_route(tuple_) -> int`, an `_advance()` hook (round-robin bumps its
index), and a `_clear_batch_on_flush` flag (round-robin drains a flushed
slot; hash/range do not). Each subclass shrinks by roughly 50 lines.
- The two round-robin-only quirks (index advance, clearing a flushed
slot) are made explicit via the hook and flag rather than changed, so
behavior is preserved. `OneToOnePartitioner` and `BroadcastPartitioner`
keep their distinct single-batch structure and are untouched.
### Any related issues, documentation, discussions?
Closes: #8919
### How was this PR tested?
- Run the partitioner and output-manager suites from `amber/`: `python
-m pytest
src/test/python/core/architecture/sendsemantics/test_partitioners.py
src/test/python/core/architecture/packaging/test_output_manager.py`.
Expect all green: the 74 existing specs (which assert exact emitted
tuples, residual slot state, `round_robin_index`, and
`get_receiver_index` outputs) pass unchanged, serving as the
behavior-preservation anchor.
- Two tests were added to pin the one genuine divergence: round-robin
clears a flushed slot's batch, while hash/range leave it intact.
### 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/38674949377

With regards,
GitHub Actions via GitBox

Reply via email to