Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Data] Yield remaining results from async
map_batches
(#47696)
## Why are these changes needed? When using an async actor with `map_batches()`, there is currently an unhandled edge case, where if tasks are scheduled very closely with one another, and all remaining futures complete at the same time, some remaining items in the internal queue to yield results from the futures will not be yielded. This PR ensures that we fully drain the internal queue to get all expected results. Concretely, this issue came up while using async actors to yield results from vLLM async engine. ## Related issue number ## Checks - [x] I've signed off every commit(by using the -s flag, i.e., `git commit -s`) in this PR. - [x] I've run `scripts/format.sh` to lint the changes in this PR. - [ ] I've included any doc changes needed for https://docs.ray.io/en/master/. - [ ] I've added any new APIs to the API Reference. For example, if I added a method in Tune, I've added it in `doc/source/tune/api/` under the corresponding `.rst` file. - [x] I've made sure the tests are passing. Note that there might be a few flaky tests, see the recent failures at https://flakey-tests.ray.io/ - Testing Strategy - [x] Unit tests - [ ] Release tests - [ ] This PR is not tested :( --------- Signed-off-by: Scott Lee <[email protected]>
- Loading branch information