forked from ray-project/ray
-
Notifications
You must be signed in to change notification settings - Fork 0
init #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
avigyabb
wants to merge
845
commits into
pr-54905
Choose a base branch
from
avigyabb/util-collective-torch-gloo
base: pr-54905
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
init #1
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…56249) ## Why are these changes needed? Use `collections` instead of `toolz` in `test_metrics_utils` ## Related issue number ray-project#56227 Signed-off-by: Cindy Zhang <cindyzyx9@gmail.com>
…ask_ref_count > 0 (ray-project#56123) Signed-off-by: hejialing.hjl <hejialing.hjl@bytedance.com> Signed-off-by: dayshah <dhyey2019@gmail.com> Co-authored-by: hejialing.hjl <hejialing.hjl@bytedance.com>
…56264) Signed-off-by: Kourosh Hakhamaneshi <kourosh@anyscale.com>
…oject#56258) We should not skip it, since it doesn't need the tensordict dependency.
Ray proactively triggers gc.collect() on idle workers to release Python objects that may still hold Plasma shared memory (shm) references. In the current implementation in (_raylet.pyx gc_collect()), Ray calls gc.collect() from Cython under a with gil block periodically. If the Python object graph is complex (e.g., cyclic references with finalizers), gc.collect() may take a long time. During this period, since the GIL is held for the entire collection, user code is completely frozen if gc.collect() time is longer than the periodic interval (e.g., 10s). We propose decoupling GC execution from the RPC call: gc_collect in Cython should not directly run gc.collect(). Instead, it should "signal an event" with minimum execution time (e.g., using a threading.Event or similar). A dedicated Python GC thread consumes this event and executes gc.collect() asynchronously, with a configurable GC interval. ## Related issue number Closes ray-project#55837 --------- Signed-off-by: Mao Yancan <yancan.mao@bytedance.com> Co-authored-by: Mao Yancan <yancan.mao@bytedance.com> Co-authored-by: Edward Oakes <ed.nmi.oakes@gmail.com>
…ay-project#56262) Signed-off-by: Jiajun Yao <jeromeyjj@gmail.com>
…oudpickle/` (ray-project#56081) Signed-off-by: Gagandeep Singh <gdp.1807@gmail.com> Co-authored-by: Edward Oakes <ed.nmi.oakes@gmail.com>
…n ray-core directories (ray-project#56275) Signed-off-by: Potato <tanxinyu@apache.org> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…`Pending Demands` and `From request_resources` (ray-project#55787) Signed-off-by: Rueian <rueian@anyscale.com> Signed-off-by: Rueian <rueiancsie@gmail.com> Co-authored-by: Edward Oakes <ed.nmi.oakes@gmail.com>
…56091) ## Why are these changes needed? Update the from uris release test to use the new code from ray-project#55824. ## Related issue number <!-- For example: "Closes ray-project#1234" --> ## Checks - [ ] I've signed off every commit(by using the -s flag, i.e., `git commit -s`) in this PR. - [ ] 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. - [ ] 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 - [ ] Unit tests - [ ] Release tests - [ ] This PR is not tested :( --------- Signed-off-by: Matthew Owen <mowen@anyscale.com>
### Summary This pull request introduces Dead-Letter Queue (DLQ) functionality for async inference. Users can configure two DLQs: 1. `failed_task_queue` – for tasks that fail during normal execution. 2. `unprocessable_task_queue` – for tasks that cannot be processed (e.g., deserialization failures or missing handlers). All unprocessable tasks will automatically be routed to the unprocessable_task_queue, while other failures will go to the failed_task_queue. The detailed behavior is defined in the [RFC document](https://docs.google.com/document/d/1Ix7uKrP3Q5LCjJ5wZG47ncUi5ScbYzyrtFXsYSlGnwg/edit?tab=t.0). ### Changes in this PR 1. Integrated Celery signals (task_failure, task_unknown) to handle task failures. 2. Added helper functions for moving tasks into the correct DLQ. 3. Introduced tests to verify DLQ routing logic across different failure scenarios. 4. Added a persistence test to ensure tasks are retried at-least-once as per the [RFC’s NFR requirements](https://docs.google.com/document/d/1Ix7uKrP3Q5LCjJ5wZG47ncUi5ScbYzyrtFXsYSlGnwg/edit?tab=t.0#heading=h.4om3bw49w03x). ### Follow-up work (to be added in a separate PR) Additional tests will be added in the next PR to keep this one focused and manageable. These will cover: 1. Task processor metrics 2. Task processor health checks 3. Task cancellation (cancel_task) 4. Multiple task consumers in a single Serve application 5. Ensuring failed tasks are retried exactly max_retry + 1 times --------- Signed-off-by: harshit <harshit@anyscale.com>
<img width="882" height="817" alt="image" src="https://github.com/user-attachments/assets/e28aea5c-68a9-4834-b99e-5269cd881ea3" /> --------- Signed-off-by: Linkun <github@lkchen.net> Signed-off-by: Nikhil Ghosh <nikhil@anyscale.com> Signed-off-by: dayshah <dhyey2019@gmail.com> Signed-off-by: Edward Oakes <ed.nmi.oakes@gmail.com> Signed-off-by: omkar <omkar@anyscale.com> Signed-off-by: Omkar Kulkarni <omkar@anyscale.com> Signed-off-by: Cuong Nguyen <can@anyscale.com> Signed-off-by: zac <zac@anyscale.com> Signed-off-by: Kourosh Hakhamaneshi <kourosh@anyscale.com> Co-authored-by: Linkun <github@lkchen.net> Co-authored-by: Dhyey Shah <dhyey2019@gmail.com> Co-authored-by: ahao-anyscale <ahao@anyscale.com> Co-authored-by: Edward Oakes <ed.nmi.oakes@gmail.com> Co-authored-by: Omkar Kulkarni <omkar@anyscale.com> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Co-authored-by: Cindy Zhang <cindyzyx9@gmail.com> Co-authored-by: Cuong Nguyen <128072568+can-anyscale@users.noreply.github.com> Co-authored-by: Zac Policzer <zac@anyscale.com> Co-authored-by: Kourosh Hakhamaneshi <kourosh@anyscale.com> Co-authored-by: Lonnie Liu <95255098+aslonnie@users.noreply.github.com>
…t#56256) The text embedding benchmarks are currently ungrouped in buildkite. This PR adds them to the Data group Signed-off-by: Ricardo Decal <rdecal@anyscale.com>
…ct#55916) Signed-off-by: Mengjin Yan <mengjinyan3@gmail.com>
…rarchy and clean it up (ray-project#56186) Signed-off-by: irabbani <irabbani@anyscale.com> Signed-off-by: Ibrahim Rabbani <israbbani@gmail.com> Signed-off-by: Ibrahim Rabbani <irabbani@anyscale.com> Co-authored-by: Edward Oakes <ed.nmi.oakes@gmail.com>
…documentation (ray-project#56278) Signed-off-by: Potato <tanxinyu@apache.org> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
ray-project#56279) This PR systematically reviews and fixes typos, grammatical errors, and syntax issues across all 21 `.rst` files in the `doc/source/ray-core/` directory. The changes are minimal and surgical, preserving the original intent and voice of the documentation while improving clarity and correctness. ## Issues Fixed ### Grammatical Errors - **configure.rst**: Fixed "various way" → "various ways" and improved consistency with "Look" → "See" - **cross-language.rst**: Fixed capitalization "ray call" → "Ray calls" - **ray-generator.rst**: Fixed article error "the an application" → "an application" - **user-spawn-processes.rst**: Fixed verb agreement "spawns" → "spawn" ### Typos - **handling-dependencies.rst**: - Fixed "what to compress" → "want to compress" - Fixed repository name typo "example_respository" → "example_repository" ### Syntax Issues - **actors.rst**: Fixed reference link spacing in async actors section - **fault-tolerance.rst**: Fixed missing underscore in code marker `_node_affinity_scheduling_strategy_start__` → `__node_affinity_scheduling_strategy_start__` - **namespaces.rst**: - Fixed C++ code block syntax `.. code-block::` → `.. code-block:: c++` - Removed stray backtick at end of code line ## Files Reviewed All 21 `.rst` files were manually reviewed following a systematic methodology to check for: - reStructuredText syntax errors - Grammatical issues (subject-verb agreement, tense consistency, article usage) - Spelling and typos - Technical content accuracy - Style and formatting consistency ## Impact These changes improve the overall quality and professionalism of the Ray Core documentation without altering any functional content or breaking existing links. The documentation now has better readability and fewer distractions from minor errors. --------- Signed-off-by: Potato <tanxinyu@apache.org> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…ject#56263) Raydepsets has a single depset compilation mode which compiles ONLY the depset referenced by name In some cases depsets have dependencies (ex. expand and subset depend on source depsets) To allow for the depset dependencies to be compiled: Subset the build graph by including the user specified target depset and all ancestors execute all of the depsets in build graph order Added unit tests --------- Signed-off-by: elliot-barn <elliot.barnwell@anyscale.com>
…he same actor (ray-project#55639) Closes ray-project#55511 Below is my complete test script. ```python import ray import torch from ray.experimental.collective import create_collective_group @ray.remote(enable_tensor_transport=True) class Actor: def __init__(self): self.device = torch.device("cuda" if torch.cuda.is_available() else "cpu") @ray.method(tensor_transport="gloo") def tensor(self): return torch.zeros(1, device=self.device) def increment(self, t): t = t + 1 return t a = Actor.remote() b = Actor.remote() create_collective_group([a, b], backend="torch_gloo") t = a.tensor.remote() t1 = a.increment.remote(t) t2 = b.increment.remote(t) result1, result2 = ray.get([t1, t2]) try: assert torch.allclose(result1, result2), "The two tensor results are not equal" print("Assertion passed: The values of t1 and t2 are equal") except AssertionError as e: print(f"Assertion failed: {e}") ray.shutdown() ``` Log: <img width="852" height="113" alt="image" src="https://github.com/user-attachments/assets/46c57ac2-6c65-4f38-a939-ffaab6ab232a" /> --------- Signed-off-by: daiping8 <dai.ping88@zte.com.cn> Signed-off-by: Ping Dai <dai.ping88@zte.com.cn> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Co-authored-by: Stephanie Wang <smwang@cs.washington.edu>
<!-- Thank you for your contribution! Please review https://github.com/ray-project/ray/blob/master/CONTRIBUTING.rst before opening a pull request. --> <!-- Please add a reviewer to the assignee section when you create a PR. If you don't have the access to it, we will shortly find a reviewer and assign them to your PR. --> ## Why are these changes needed? <!-- Please give a short summary of the change and the problem this solves. --> [Data] Bump test_json timeout Bump up test_json timeout to 6 minutes. In 3 minutes, it got 2/3rd of the way. https://buildkite.com/anyscale/rayturbo/builds/6172#0199175c-50ee-4076-a0dc-a6da0b207ecc ``` [2025-09-05T01:43:06Z] ================================================================================ | [2025-09-05T01:43:06Z] ==================== Test output for //python/ray/data:test_json: | [2025-09-05T01:43:06Z] /opt/miniforge/lib/python3.9/site-packages/paramiko/pkey.py:82: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from cryptography.hazmat.primitives.ciphers.algorithms in 48.0.0. | [2025-09-05T01:43:06Z] "cipher": algorithms.TripleDES, | [2025-09-05T01:43:06Z] /opt/miniforge/lib/python3.9/site-packages/paramiko/transport.py:253: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from cryptography.hazmat.primitives.ciphers.algorithms in 48.0.0. | [2025-09-05T01:43:06Z] "class": algorithms.TripleDES, | [2025-09-05T01:43:06Z] ============================= test session starts ============================== | [2025-09-05T01:43:06Z] platform linux -- Python 3.9.23, pytest-7.4.4, pluggy-1.3.0 -- /opt/miniforge/bin/python3 | [2025-09-05T01:43:06Z] cachedir: .pytest_cache | [2025-09-05T01:43:06Z] rootdir: /root/.cache/bazel/_bazel_root/1df605deb6d24fc8068f6e25793ec703/execroot/io_ray | [2025-09-05T01:43:06Z] configfile: pytest.ini | [2025-09-05T01:43:06Z] plugins: repeat-0.9.3, anyio-3.7.1, fugue-0.8.7, aiohttp-1.1.0, asyncio-0.17.2, docker-tools-3.1.3, forked-1.4.0, pytest_httpserver-1.1.3, lazy-fixtures-1.1.2, mock-3.14.0, remotedata-0.3.2, rerunfailures-11.1.2, shutil-1.8.1, sphinx-0.5.1.dev0, sugar-0.9.5, timeout-2.1.0, virtualenv-1.8.1, typeguard-2.13.3 | [2025-09-05T01:43:06Z] asyncio: mode=auto | [2025-09-05T01:43:06Z] timeout: 180.0s | [2025-09-05T01:43:06Z] timeout method: signal | [2025-09-05T01:43:06Z] timeout func_only: False | [2025-09-05T01:43:06Z] collecting ... collected 102 items | [2025-09-05T01:43:06Z] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_partitioning[None] PASSED [ 0%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_partitioning[134217728] PASSED [ 1%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read[None-None-local_path-None] PASSED [ 2%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read[None-local_fs-local_path-None] PASSED [ 3%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read[None-s3_fs-s3_path-s3_server] PASSED [ 4%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read[134217728-None-local_path-None] PASSED [ 5%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read[134217728-local_fs-local_path-None] PASSED [ 6%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read[134217728-s3_fs-s3_path-s3_server] PASSED [ 7%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_read_json_ignore_missing_paths[None-True] PASSED [ 8%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_read_json_ignore_missing_paths[None-False] PASSED [ 9%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_read_json_ignore_missing_paths[134217728-True] PASSED [ 10%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_read_json_ignore_missing_paths[134217728-False] PASSED [ 11%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_zipped_json_read[None] PASSED [ 12%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_zipped_json_read[134217728] PASSED [ 13%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_read_json_fallback_from_pyarrow_failure[None] PASSED [ 14%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_read_json_fallback_from_pyarrow_failure[134217728] PASSED [ 15%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_meta_provider[None-None-local_path-None] PASSED [ 16%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_meta_provider[None-local_fs-local_path-None] PASSED [ 17%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_meta_provider[None-s3_fs-s3_path-s3_server] PASSED [ 18%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_meta_provider[134217728-None-local_path-None] PASSED [ 19%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_meta_provider[134217728-local_fs-local_path-None] PASSED [ 20%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_meta_provider[134217728-s3_fs-s3_path-s3_server] PASSED [ 21%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_with_read_options[None-None-local_path-None] PASSED [ 22%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_with_read_options[None-local_fs-local_path-None] PASSED [ 23%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_with_read_options[None-s3_fs-s3_path-s3_server] PASSED [ 24%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_with_read_options[134217728-None-local_path-None] PASSED [ 25%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_with_read_options[134217728-local_fs-local_path-None] PASSED [ 26%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_with_read_options[134217728-s3_fs-s3_path-s3_server] PASSED [ 27%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_with_parse_options[None-None-local_path-None] PASSED [ 28%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_with_parse_options[None-local_fs-local_path-None] PASSED [ 29%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_with_parse_options[None-s3_fs-s3_path-s3_server] PASSED [ 30%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_with_parse_options[134217728-None-local_path-None] PASSED [ 31%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_with_parse_options[134217728-local_fs-local_path-None] PASSED [ 32%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_with_parse_options[134217728-s3_fs-s3_path-s3_server] PASSED [ 33%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_partitioned_with_filter[None-hive-None-local_path-None] PASSED [ 34%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_partitioned_with_filter[None-hive-local_fs-local_path-None] PASSED [ 35%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_partitioned_with_filter[None-hive-s3_fs-s3_path-s3_server] PASSED [ 36%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_partitioned_with_filter[None-dir-None-local_path-None] PASSED [ 37%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_partitioned_with_filter[None-dir-local_fs-local_path-None] PASSED [ 38%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_partitioned_with_filter[None-dir-s3_fs-s3_path-s3_server] PASSED [ 39%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_partitioned_with_filter[134217728-hive-None-local_path-None] PASSED [ 40%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_partitioned_with_filter[134217728-hive-local_fs-local_path-None] PASSED [ 41%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_partitioned_with_filter[134217728-hive-s3_fs-s3_path-s3_server] PASSED [ 42%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_partitioned_with_filter[134217728-dir-None-local_path-None] PASSED [ 43%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_partitioned_with_filter[134217728-dir-local_fs-local_path-None] PASSED [ 44%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_partitioned_with_filter[134217728-dir-s3_fs-s3_path-s3_server] PASSED [ 45%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_jsonl_lists[None-None] PASSED [ 46%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_jsonl_lists[None-1] PASSED [ 47%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_jsonl_lists[None-3] PASSED [ 48%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_jsonl_lists[134217728-None] PASSED [ 49%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_jsonl_lists[134217728-1] PASSED [ 50%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_jsonl_lists[134217728-3] PASSED [ 50%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_jsonl_mixed_types[None] PASSED [ 51%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_jsonl_mixed_types[134217728] PASSED [ 52%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_write[None] PASSED [ 53%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_write[134217728] PASSED [ 54%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_roundtrip[None-None] PASSED [ 55%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_roundtrip[None-2] PASSED [ 56%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_roundtrip[134217728-None] PASSED [ 57%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_roundtrip[134217728-2] PASSED [ 58%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_small_file_unit_block_size[None-None-local_path-None] PASSED [ 59%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_small_file_unit_block_size[None-local_fs-local_path-None] PASSED [ 60%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_small_file_unit_block_size[None-s3_fs-s3_path-s3_server] PASSED [ 61%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_small_file_unit_block_size[134217728-None-local_path-None] PASSED [ 62%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_small_file_unit_block_size[134217728-local_fs-local_path-None] PASSED [ 63%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_small_file_unit_block_size[134217728-s3_fs-s3_path-s3_server] PASSED [ 64%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_file_larger_than_block_size[None-None-local_path-None] PASSED [ 65%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_file_larger_than_block_size[None-local_fs-local_path-None] FAILED [ 66%] | [2025-09-05T01:43:06Z] python/ray/data/tests/test_json.py::test_json_read_file_larger_than_block_size[None-s3_fs-s3_path-s3_server] -- Test timed out at 2025-09-05 01:43:03 UTC -- | [2025-09-05T01:43:06Z] ================================================================================ | ``` ## Related issue number <!-- For example: "Closes ray-project#1234" --> ## Checks - [ ] I've signed off every commit(by using the -s flag, i.e., `git commit -s`) in this PR. - [ ] 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. - [ ] 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 - [ ] Unit tests - [ ] Release tests - [ ] This PR is not tested :( --------- Signed-off-by: Srinath Krishnamachari <srinath.krishnamachari@anyscale.com>
…umentation (ray-project#56068) Signed-off-by: Potato <tanxinyu@apache.org> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…blems during E2E test in Anyscale environment (ray-project#56188) Signed-off-by: Gang Zhao <gang@gang-JQ62HD2C37.local> Co-authored-by: Gang Zhao <gang@gang-JQ62HD2C37.local>
…ontribute documentation (ray-project#56067) Signed-off-by: Potato <tanxinyu@apache.org> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: angelinalg <122562471+angelinalg@users.noreply.github.com>
…OneToOne` (ray-project#56294) ## Why are these changes needed? `Download` logical operator isn't really a map, we should use `AbstractOneToOne` as the base class instead. <!-- Please give a short summary of the change and the problem this solves. --> ## Related issue number <!-- For example: "Closes ray-project#1234" --> ## Checks - [ ] I've signed off every commit(by using the -s flag, i.e., `git commit -s`) in this PR. - [ ] 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. - [ ] 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 - [ ] Unit tests - [ ] Release tests - [ ] This PR is not tested :( --------- Signed-off-by: Matthew Owen <mowen@anyscale.com> Signed-off-by: Matthew Owen <omatthew98@berkeley.edu> Co-authored-by: Balaji Veeramani <bveeramani@berkeley.edu>
<!-- Thank you for your contribution! Please review https://github.com/ray-project/ray/blob/master/CONTRIBUTING.rst before opening a pull request. --> <!-- Please add a reviewer to the assignee section when you create a PR. If you don't have the access to it, we will shortly find a reviewer and assign them to your PR. --> ## Why are these changes needed? Adds proper type-stubbing for ObjectRef (and its cousins, ActorID, TaskID, etc). See ray-project#53591. The ray/includes .pxi files (and the _raylet.pxi) are inaccessible to type-checkers, so core ray objects like ObjectRef don't have proper code-completion. While the issue extends to many ray objects defined in includes/* and _raylet.pxi, notably ObjectRefGenerator and similar, this PR focuses just on unique_ids.pxi and object_ref.pxi. By adding python stub files, .pyi, that correspond to the .pxi files, this PR allows type-checkers to understand the contents of the cython files. Each .pyi file contains the signature of every class and method in the .pxi files to expose (though I went ahead and added every method for completeness). Also, I added a `__class_getitem__` method to ObjectRef in object_ref.pxi which mirrors how typing.Generic works, as multiple inheritance (which would be required for generic subclassing of BaseID) is not well supported in cython. This allows for runtime type-subscripting (e.g. ObjectRef[int]) without error and returns a proper annotated type. ## Related issue number Limited-scope version of ray-project#55066, just focusing on unique_ids.pxi and object_ref.pxi. Partially satisfies ray-project#53591. ## 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. - [x] I've included any doc changes needed for https://docs.ray.io/en/master/. - [x] 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 - [ ] Unit tests - [ ] Release tests - [x] This PR is not tested :( --------- Signed-off-by: minerharry <miner.harry567@gmail.com> Signed-off-by: Philipp Moritz <pcmoritz@gmail.com> Co-authored-by: Philipp Moritz <pcmoritz@gmail.com>
… docs (ray-project#56130) Signed-off-by: Potato <tanxinyu@apache.org> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…anager. (ray-project#56246) This PR continues to implement the CgroupManager. CgroupManager will be used by the Raylet to manage the cgroup hierarchy. The implementation will be completed in subsequent PRs. This PR stacks on ray-project#56186. For more details about the resource isolation project see ray-project#54703. In this PR: * CgroupManager now bound checks constraints (e.g. cpu.weight is within [1,10000]. * CgroupDriver no longer bound checks constraints. --------- Signed-off-by: Ibrahim Rabbani <irabbani@anyscale.com> Co-authored-by: Edward Oakes <ed.nmi.oakes@gmail.com>
Signed-off-by: Jiajun Yao <jeromeyjj@gmail.com>
…roject#56213) Signed-off-by: Haichuan Hu <kaisennhu@gmail.com> Co-authored-by: Edward Oakes <ed.nmi.oakes@gmail.com>
…ct#56268) <!-- Thank you for your contribution! Please review https://github.com/ray-project/ray/blob/master/CONTRIBUTING.rst before opening a pull request. --> <!-- Please add a reviewer to the assignee section when you create a PR. If you don't have the access to it, we will shortly find a reviewer and assign them to your PR. --> ## Why are these changes needed? This change is a follow-up for ray-project#56105. Now dataset size estimation is based on listed file sizes. However, encoding ratio was still based on the file size estimates derived from the uncompressed data size obtained from Parquet metadata. This change is addressing that by: - Rebasing encoding ratio to relate estimated in-memory size to the listed file size - Cleaning up unused abstractions (like `ParquetMetadataProvider`) ## Related issue number <!-- For example: "Closes ray-project#1234" --> ## Checks - [ ] I've signed off every commit(by using the -s flag, i.e., `git commit -s`) in this PR. - [ ] 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. - [ ] 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 - [ ] Unit tests - [ ] Release tests - [ ] This PR is not tested :( --------- Signed-off-by: Alexey Kudinkin <ak@anyscale.com>
…-project#56543) for use on building anyscale nightly images. Signed-off-by: Lonnie Liu <lonnie@anyscale.com>
Signed-off-by: Cuong Nguyen <can@anyscale.com>
…6502) ray-project#56405 clears the gauge metric cache at export time, which is necessary for both correctness and improved memory usage. This PR extends the same behavior to the C++ side, further reducing memory consumption. When running the [test_map.py](https://github.com/ray-project/ray/blob/master/python/ray/data/tests/test_map.py) locally, I observed that memory usage exceeded a gigabyte without this change, compared to only a few hundred megabytes with it. This happens because data workloads often reuse the same worker ID for different dataset operators, and each operator emits distinct metric labels. Since the existing logic clears the label cache only by worker ID (and not by other identifiers such as operator ID), the tag set can grow unnecessarily large, as many operator name/ID labels may accumulate over a worker’s lifecycle even when the operator lifecycle has ended). Many of our unit tests currently assume that stale data persists for a while, since they validate time series or sliding windows of metrics. To align with the new behavior, I also need to refactor these tests so they continuously emit time series data over the lifetime of the test, rather than relying on one-off data points. Test: - CI Signed-off-by: Cuong Nguyen <can@anyscale.com>
…oject#56630) Signed-off-by: Mengjin Yan <mengjinyan3@gmail.com> Co-authored-by: Jiajun Yao <jeromeyjj@gmail.com>
using schlex split for pre-hook command adding unit tests --------- Signed-off-by: elliot-barn <elliot.barnwell@anyscale.com>
… autoscaler (ray-project#56605) Signed-off-by: daiping8 <dai.ping88@zte.com.cn> Co-authored-by: Jiajun Yao <jeromeyjj@gmail.com>
…5567) ## Why are these changes needed? Fix failing release test: `learning_tests_multi_agent_cartpole_appo_multi_gpu`. ## Related issue number <!-- For example: "Closes ray-project#1234" --> ## 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. - [ ] 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 - [x] Release tests - [ ] This PR is not tested :( --------- Signed-off-by: Kamil Kaczmarek <kamil@anyscale.com> Signed-off-by: Kamil Kaczmarek <kaczmarek.poczta@gmail.com>
<!-- Thank you for your contribution! Please review https://github.com/ray-project/ray/blob/master/CONTRIBUTING.rst before opening a pull request. --> ## Why are these changes needed? Drop support for bullet. <!-- Please give a short summary of the change and the problem this solves. --> ## 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. - [x] 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. - [ ] 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 - [ ] Unit tests - [ ] Release tests - [x] This PR is not tested :( Signed-off-by: Kamil Kaczmarek <kamil@anyscale.com>
Signed-off-by: zhaoch23 <c233zhao@uwaterloo.ca> Signed-off-by: zhilong <121425509+Bye-legumes@users.noreply.github.com> Signed-off-by: zhilong <zhilong.chen@mail.mcgill.ca> Co-authored-by: zhaoch23 <c233zhao@uwaterloo.ca> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Co-authored-by: Jiajun Yao <jeromeyjj@gmail.com>
…#56641) Signed-off-by: irabbani <israbbani@gmail.com> Co-authored-by: Dhyey Shah <dhyey2019@gmail.com>
## Why are these changes needed? Fixing the build for my gcc devbox, was struggling to disambiguate between map with string_view vs. map with string. Changed Record to always take string_view. The string overload is only used in Cython so just have a separate RecordForCython that's not part of the MetricInterface. We can't use string_view in Cython because our Cython version isn't new enough. Also killing tag_defs.cc, it just had one line tag registrations that could go in the headers. There were some tags that were unused so killed them. There were also some string constants that could just be put in the one spot they were used so the files that use it don't need the dependency. The biggest change is changing the record to take a vector of pairs instead of an unordered map. We didn't use the map aspect of it, so a vector is more efficient. Record was also taking by const ref before and then trying to move, so the move wasn't actually happening. Taking by value now so that it actually moves. --------- Signed-off-by: dayshah <dhyey2019@gmail.com>
) Moved `ray/_private/serialization.py` into `ray/_common`. Moved `test_serialization.py` from file `ray/tests` into `ray/_common/tests`. ray-project#53478 Signed-off-by: Vaishnavi Panchavati <vaishdho10@gmail.com>
…y-project#56626) Broken in ray-project#56446. This should stop being possible once there's a single cgroups target exported (as highlighted in ray-project#54703). I've fixed the broken build and I've added a temporary test target that builds the noop implementations as part of Linux CI so it gets caught in premerge. --------- Signed-off-by: irabbani <israbbani@gmail.com>
…uild app:app (ray-project#56609) ## Why are these changes needed? Omit unnecessary newlines in the config generated by `serve build app:app` now ```shell # This file was generated using the `serve build` command on Ray v2.49.1. proxy_location: EveryNode http_options: host: 0.0.0.0 port: 8000 grpc_options: port: 9000 grpc_servicer_functions: [] logging_config: encoding: TEXT log_level: INFO logs_dir: null enable_access_log: true additional_log_standard_attrs: [] applications: - name: app1 route_prefix: / import_path: app:app runtime_env: {} deployments: - name: UniformRequestRouterApp num_replicas: 10 ray_actor_options: num_cpus: 0.0 request_router_config: request_router_class: app.UniformRequestRouter request_router_kwargs: {} request_routing_stats_period_s: 10 request_routing_stats_timeout_s: 30 ``` ## Related issue number Closes ray-project#56594 ## 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. - [x] 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 - [ ] Unit tests - [x] Release tests - [ ] This PR is not tested :( --------- Signed-off-by: daiping8 <dai.ping88@zte.com.cn>
Signed-off-by: zac <zac@anyscale.com> Signed-off-by: Edward Oakes <ed.nmi.oakes@gmail.com> Co-authored-by: Jiajun Yao <jeromeyjj@gmail.com> Co-authored-by: Edward Oakes <ed.nmi.oakes@gmail.com>
…project#56500) <!-- Thank you for your contribution! Please review https://github.com/ray-project/ray/blob/master/CONTRIBUTING.rst before opening a pull request. --> <!-- Please add a reviewer to the assignee section when you create a PR. If you don't have the access to it, we will shortly find a reviewer and assign them to your PR. --> ## Why are these changes needed? Adding support for projection pushdown into `Read` ops reading from parquet tables. Changes --- - Adding `ProjectionPushdown` optimization rule - Abstracting `LogicalOperatorSupportsProjectionPushdown`, etc interfaces to implement projection pushdown for various Read ops as well as `Datasource`s - Added tests for projection push-down ## Related issue number <!-- For example: "Closes ray-project#1234" --> ## Checks - [ ] I've signed off every commit(by using the -s flag, i.e., `git commit -s`) in this PR. - [ ] 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. - [ ] 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 - [ ] Unit tests - [ ] Release tests - [ ] This PR is not tested :( --------- Signed-off-by: Alexey Kudinkin <ak@anyscale.com>
Signed-off-by: avigyabb <98926738+avigyabb@users.noreply.github.com>
…roject#56660) ## Why are these changes needed? This PR allows the ProxyActor to return true or false to signify health, rather than requiring an exception to be raised to signify it's unhealthy. <!-- Please give a short summary of the change and the problem this solves. --> ## Related issue number <!-- For example: "Closes ray-project#1234" --> ## Checks - [ ] I've signed off every commit(by using the -s flag, i.e., `git commit -s`) in this PR. - [ ] 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. - [ ] 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 - [ ] Unit tests - [ ] Release tests - [ ] This PR is not tested :( --------- Signed-off-by: akyang-anyscale <alexyang@anyscale.com>
…because of `IndexError` in `test_utils.py` (ray-project#54343) ## Why are these changes needed? In the CI I saw a fleaky test failing, but its error is not reported correctly: ```python [2025-07-04T00:01:57Z] Traceback (most recent call last): [2025-07-04T00:01:57Z] File "/root/.cache/bazel/_bazel_root/1df605deb6d24fc8068f6e25793ec703/execroot/com_github_ray_project_ray/bazel-out/k8-opt/bin/rllib/examples/connectors/multi_agent_observation_preprocessor.runfiles/com_github_ray_project_ray/rllib/examples/connectors/multi_agent_observation_preprocessor.py", line 137, in <module> [2025-07-04T00:01:57Z] run_rllib_example_script_experiment(base_config, args) [2025-07-04T00:01:57Z] File "/rayci/python/ray/rllib/utils/test_utils.py", line 1354, in run_rllib_example_script_experiment [2025-07-04T00:01:57Z] f"{[e.args[0].args[2] for e in results.errors]}" [2025-07-04T00:01:57Z] File "/rayci/python/ray/rllib/utils/test_utils.py", line 1354, in <listcomp> [2025-07-04T00:01:57Z] f"{[e.args[0].args[2] for e in results.errors]}" # <--- [2025-07-04T00:01:57Z] IndexError: tuple index out of range # <--- ``` In the logs the actual error does not appear because of the `IndexError` for ` f"{[e.args[0].args[2] for e in results.errors]}"`. I am not sure why `e.args[0].args[2]` is used, a nested Exception perhaps? This PR adds a guard to fallback to a simpler `repr(e)` in case the `IndexError` would accur again. This allows to investigate why this `IndexError` occures and raises the `RuntimeError` like expected. ## Related issue number NA ## 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. - [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] This PR is not tested, but improves other tests :) --------- Signed-off-by: Daraan <github.blurry@9ox.net> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Kamil Kaczmarek <kaczmarek.poczta@gmail.com>
<!-- Thank you for your contribution! Please review https://github.com/ray-project/ray/blob/master/CONTRIBUTING.rst before opening a pull request. --> <!-- Please add a reviewer to the assignee section when you create a PR. If you don't have the access to it, we will shortly find a reviewer and assign them to your PR. --> ## Why are these changes needed? Adds support for predicate expressions in Ray Data's Expression System. Involves the following: 1. Support for unary operations (NOT, IS_NULL(), IN and their inverses) 2. Add `PredicateExpr` to expression evaluator ## 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. - [ ] 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: Goutam V. <goutam@anyscale.com>
<!-- Thank you for your contribution! Please review https://github.com/ray-project/ray/blob/master/CONTRIBUTING.rst before opening a pull request. --> <!-- Please add a reviewer to the assignee section when you create a PR. If you don't have the access to it, we will shortly find a reviewer and assign them to your PR. --> ## Why are these changes needed? <!-- Please give a short summary of the change and the problem this solves. --> before: we updated metrics when we added an output, but the queue size after the operator is done adding outputs. after: we update every time we take an input. This should rise and fall back to 0 naturally <img width="741" height="279" alt="image" src="https://github.com/user-attachments/assets/e1a48097-e1dd-4b7b-9ce2-a23ab65d590b" /> ## Related issue number <!-- For example: "Closes ray-project#1234" --> ## Checks - [ ] I've signed off every commit(by using the -s flag, i.e., `git commit -s`) in this PR. - [ ] 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. - [ ] 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 - [ ] Unit tests - [ ] Release tests - [ ] This PR is not tested :( --------- Signed-off-by: iamjustinhsu <jhsu@anyscale.com>
Signed-off-by: avigyabb <avigyabb@stanford.edu>
Signed-off-by: avigyabb <98926738+avigyabb@users.noreply.github.com>
Signed-off-by: avigyabb <98926738+avigyabb@users.noreply.github.com>
Signed-off-by: avigyabb <98926738+avigyabb@users.noreply.github.com>
Signed-off-by: avigyabb <98926738+avigyabb@users.noreply.github.com>
Signed-off-by: avigyabb <98926738+avigyabb@users.noreply.github.com>
Signed-off-by: avigyabb <98926738+avigyabb@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Why are these changes needed?
Related issue number
Checks
git commit -s) in this PR.scripts/format.shto lint the changes in this PR.method in Tune, I've added it in
doc/source/tune/api/under thecorresponding
.rstfile.