Commit graph

13483 commits

Author SHA1 Message Date
Avnish Narayan
5433c11650
[RLlib] Pin gym to 0.23.1 (#26752) 2022-07-20 11:49:01 -07:00
Kai Fricke
7cf4f8e069
[ci] fix determine_tests_to_run.py by finding merge base (#26790)
We previously found all differences between origin/master and the PR branch, which includes forward changes if origin/master is ahead of the branch. By finding file differences with respect to the merge base we will only include actually changed files.

See https://matthew-brett.github.io/pydagogue/git_diff_dots.html

Signed-off-by: Kai Fricke <kai@anyscale.com>
2022-07-20 19:39:22 +01:00
Siyuan (Ryans) Zhuang
c29a754526
[Core] Fix typo in logging during lineage reconstruction #26681
Signed-off-by: Siyuan Zhuang <suquark@gmail.com>
2022-07-20 11:18:12 -07:00
Matti Picus
6a71a293b2
cast to remove warning with MSVC (#25594)
Remove one source of many build warnings when building with MSVC

Co-authored-by: Philipp Moritz <pcmoritz@gmail.com>
2022-07-20 10:49:04 -07:00
tomsunelite
d915529e9e
Add doc for custom lifetime of java actor (#26706)
Custom lifetime of java Actor is already supported, but the related document is not updated

Co-authored-by: sunkunjian1 <sunkunjian1@jd.com>
2022-07-20 22:19:44 +08:00
matthewdeng
2a425b195c
[air] change default strategy to PACK (#26757) 2022-07-19 23:01:24 -07:00
mwtian
e157989a7a
Remove @mwtian from code owners #26769 2022-07-19 22:39:29 -07:00
Matti Picus
b835cb944d
redo agent_pid -> agent_id (#25806)
Redo the agent-id changes from #24968. The original PR is in the first commit, the second commit fixes a fatal flaw when using RAY_BACKEND_LOG_LEVEL=debug, which caused the "Ray C++, Java" tests to fail on macOS.
2022-07-19 20:26:49 -07:00
Tao Wang
4f2747f12a
[Core][C++ worker] Add GetNamespace api (#26509) 2022-07-20 11:17:14 +08:00
Edward Oakes
887f6726d5
[serve] Soft SPREAD replicas by default (#26734)
Currently replicas for each deployment are packed based on Ray's default scheduling policy. This is problematic when node failures occur because a given deployment may have all of its replicas crash at once.

This PR changes the default behavior to a soft SPREAD. If the replicas can be spread based on current resources, they will be, else they will still be placed.


Signed-off-by: Edward Oakes <ed.nmi.oakes@gmail.com>
2022-07-19 20:12:47 -07:00
Tao Wang
cd521ed132
[Doc][namespaces][C++ worker]add document for c++ worker namespace and specifying namespace while creating/getting named actors (#26498)
We've supported namespace in c++ worker in https://github.com/ray-project/ray/pull/26327. Here we add doc for usage and also reinforce the documents of Java and Python, like adding explanation of specifying namespace while creating named actors.

- [x] add doc for basic c++ worker namespace usage
- [x] add explanation for specifying namespace while creating named actors, in Python, Java and C++
2022-07-20 10:58:41 +08:00
Eric Liang
0f6beca16e
[AIR] Execute GPU inference in a separate stage in BatchPredictor (#26616) 2022-07-19 19:16:08 -07:00
Guyang Song
f96f5a1c18
[runtime env] plugin refactor [5/n]: support priority (#26659) 2022-07-20 10:07:06 +08:00
Julius Frost
b87731c1b6
Windows gpu detection workaround with GPUtil (#25701)
Because [WMIC is now deprecated](https://docs.microsoft.com/en-us/windows/deployment/planning/windows-10-deprecated-features), #9300 may stop working on recent Windows systems. As a workaround this PR extends GPUtil to do GPU detection when installed on Windows systems.

Co-authored-by: Matti Picus <matti.picus@gmail.com>
2022-07-19 17:04:46 -07:00
Eric Liang
b0eb051282
[air] Accessors for preprocessor in Predictor class (#26600) 2022-07-19 16:42:33 -07:00
Jiao
e7ab969f61
[P0][Release Blocker Fix] Larger headnode for tune_scalability_network_overhead weekly test (#26742) 2022-07-19 16:40:25 -07:00
Dmitri Gekhtman
e117aa77c3
Re-revert skipping version check in Ray status (#26741)
* Revert "Revert "[KubeRay][Autoscaler][Core] Add a flag to disable ray status version check (#26584)" (#26597)"

(Fixes test issue.)
2022-07-19 16:25:47 -07:00
Avnish Narayan
9063cc9d5e
[RLlib] Fix memory leak in APEX_DQN (#26691) 2022-07-19 16:16:24 -07:00
Sihan Wang
445d277973
[Serve] Add @sihan to Serve Docs CODEOWNERS (#26743) 2022-07-19 15:37:19 -07:00
Jiajun Yao
2603aea4c9
[CI] Chaos tests for dataset random shuffle 1tb (#26738)
- Add chaos tests for dataset random shuffle 1tb: both simple shuffle and push-based shuffle
- Mark dataset_shuffle_push_based_random_shuffle_1tb as stable
2022-07-19 15:16:51 -07:00
Dmitri Gekhtman
fdd5c53bfd
[KubeRay] Documentation structure and skeleton (#26589)
Adds outline and structure for new KubeRay-based Ray-on-Kubernetes docs.
2022-07-19 13:28:04 -07:00
Jiajun Yao
2b37c32d43
Auto reconnect for gcs aio client (#26673)
#20299 adds auto reconnect for sync gcs client and this PR does the same thing for async gcs client.
2022-07-19 13:11:09 -07:00
Avnish Narayan
af41f21be0
[RLlib] Make queue placement ops blocking (#26581)
Signed-off-by: avnish avnish@anyscale.com

This change should fix issues with IMPALA and potentially APEX that stem from the various learner threads

Signed-off-by: avnish <avnish@anyscale.com>
2022-07-19 20:07:36 +01:00
Kai Fricke
7aac00bcc1
[air/hotfix] Fix test_tune (#26721)
Broken by #26493

Signed-off-by: Kai Fricke <kai@anyscale.com>
2022-07-19 19:25:29 +01:00
Stephanie Wang
1cd73f2a2b
[core] Fix bug in LocalObjectManager reporting for bytes pending spill (#26662)
Each node is supposed to report bytes used by its primary in-memory object copies. During spilling, this number is set incorrectly to 1 (see #26639 for more details).

This PR changes the reporting to include objects that are currently being spilled. It also splits out the "return nonzero number if there are local spilled objects" logic into a separate method.
Related issue number

Closes #26639.

Signed-off-by: Stephanie Wang <swang@cs.berkeley.edu>
2022-07-19 10:28:00 -07:00
xwjiang2010
75027eb479
[air/benchmarks] train/tune benchmark (#26564)
Making sure that tuning multiple trials in parallel is not significantly slower than training each individual trials.
Some overhead is expected.

Signed-off-by: Xiaowei Jiang <xwjiang2010@gmail.com>
Signed-off-by: Richard Liaw <rliaw@berkeley.edu>
Signed-off-by: Kai Fricke <kai@anyscale.com>

Co-authored-by: Jimmy Yao <jiahaoyao.math@gmail.com>
Co-authored-by: Richard Liaw <rliaw@berkeley.edu>
Co-authored-by: Kai Fricke <kai@anyscale.com>
2022-07-19 18:24:39 +01:00
Kai Fricke
02dded1e50
[air/tuner] Add checkpoint_frequency/checkpoint_at_end arguments to CheckpointConfig (#26661) 2022-07-19 10:06:35 -07:00
Richard Liaw
6563c2762d
[air] add pytorch benchmark number (#26719) 2022-07-19 09:51:13 -07:00
Cheng Su
03eb9f153c
[Datasets] Explicitly define Dataset-like APIs in DatasetPipeline class (#26627)
Rework of #26394, which gets reverted due to unit test failure.
2022-07-19 09:37:15 -07:00
Richard Liaw
7e62e1187c
[air/benchmark] Torch benchmarks for 4x4 (#26692)
Add benchmark data for 4x4 GPU setup.

Signed-off-by: Richard Liaw <rliaw@berkeley.edu>

Co-authored-by: Jimmy Yao <jiahaoyao.math@gmail.com>
Co-authored-by: Kai Fricke <kai@anyscale.com>
2022-07-19 17:06:37 +01:00
Jun Gong
6b6d3017ba
[RLlib] more connector polishes and fixes. (#26645) 2022-07-19 08:50:28 -07:00
Rohan Potdar
4fded80813
[RLlib]: Fix FQE Policy call (#26671) 2022-07-19 00:58:31 -07:00
SangBin Cho
adf24bfa97
[State Observability] Use a table format by default (#26159)
NOTE: tabulate is copied/pasted to the codebase for table formatting.

This PR changes the default layout to be the table format for both summary and list APIs.
2022-07-19 00:54:16 -07:00
Philipp Moritz
518b6b427b
Add pcmoritz as cluster docs CODEOWNER (#26700) 2022-07-19 00:21:13 -07:00
Jiajun Yao
28d677cf0b
Fix test tags (#26703)
Some tests tags are accidentally changed in #26525
2022-07-19 00:11:02 -07:00
Jimmy Yao
8284270bfb
[RAY AIR] set the correct gpu id in TorchTrainer (#26493) 2022-07-18 23:27:40 -07:00
Siyuan (Ryans) Zhuang
5b937167d3
[Workflow] Fix typo in workflow event doc (#26686)
Signed-off-by: Siyuan Zhuang <suquark@gmail.com>
2022-07-18 23:26:50 -07:00
Siyuan (Ryans) Zhuang
eb4ed49c1f
[Workflow] Unify the semantics of max_retries of workflow task and Ray task (#26350)
* workflow task retry

Signed-off-by: Siyuan Zhuang <suquark@gmail.com>

* move and enhance tests

Signed-off-by: Siyuan Zhuang <suquark@gmail.com>

* use "max_retries" of Ray task

Signed-off-by: Siyuan Zhuang <suquark@gmail.com>

* add test for disabling lineage reconstruction in workflow

Signed-off-by: Siyuan Zhuang <suquark@gmail.com>
2022-07-18 23:25:44 -07:00
Riatre
591cd22be7
Revert "Revert "Bump pytest from 5.4.3 to 7.0.1"" (#26525)
* Revert "Revert "Bump pytest from 5.4.3 to 7.0.1""

This reverts commit ab10890e90.

Signed-off-by: Riatre Foo <foo@riat.re>

* Fix missing test data files dependency in rllib/BUILD

See # 26334 and # 26517 for context.

Once this is in, it should be good to roll-forwrad again.

Signed-off-by: Riatre Foo <foo@riat.re>

* debug: run all tests

Signed-off-by: Riatre Foo <foo@riat.re>

* Revert "debug: run all tests"

This reverts commit 0c5e796b0eb437d64922f66749c61b0412486970.

Signed-off-by: Riatre Foo <foo@riat.re>

* fix new tests since last rebase

Signed-off-by: Riatre Foo <foo@riat.re>
2022-07-18 21:21:19 -07:00
Yi Cheng
a435a04ead
[ci] Skip windows for test_actor_failure_async for now (#26696)
Signed-off-by: Yi Cheng <chengyidna@gmail.com>

windows test looks good.
2022-07-18 20:57:16 -07:00
Cheng Su
daa346450d
[Datasets] Handle any error code when encountering AWS S3 credential error (#26669)
As a followup of #26619 (comment) and #26619 (comment), here we change from PermissionError to OSError, to be consistent as original error, and also change function name from _handle_read_s3_files_error to _handle_read_os_error, which is more general that we can handle other file systems such as GCS in the future.

Also change to hanlde any error message with pattern AWS Error [code xxx]: No response body as new issue with error code 100 is raised in #26672 .
2022-07-18 17:57:44 -07:00
Sumanth Ratna
759966781f
[air] Allow users to use instances of ScalingConfig (#25712)
Co-authored-by: Xiaowei Jiang <xwjiang2010@gmail.com>
Co-authored-by: matthewdeng <matthew.j.deng@gmail.com>
Co-authored-by: Kai Fricke <krfricke@users.noreply.github.com>
2022-07-18 15:46:58 -07:00
Kai Fricke
66ca7b1fcf
[air/tuner] Expose number of errored/terminated trials in ResultGrid (#26655)
This introduces an easy interface to retrieve the number of errored and terminated (non-errored) trials from the result grid.

Previously `tune.run(raise_on_failed_trial)` could be used to raise a TuneError if at least one trial failed. We've removed this option to make sure we always get a return value. `ResultGrid.num_errored` will make it easy for users to identify if trials failed and react to it instead of the old try-catch loop.

Signed-off-by: Kai Fricke <kai@anyscale.com>
2022-07-18 23:12:37 +01:00
Archit Kulkarni
c747dd1b70
[Serve] [CI] Skip serve:test_standalone2 on Windows (#26668) 2022-07-18 14:39:36 -07:00
Jiajun Yao
40a4777bc0
Mark chaos_dataset_shuffle_push_based_sort_1tb and chaos_dataset_shuffle_sort_1tb stable (#26677)
They passed for the past 7 runs.
2022-07-18 14:34:08 -07:00
Dmitri Gekhtman
c4160ec34b
[autoscaler][weekend nits] autoscaler.py type checking and other lint issues (#26646)
I run several linters, including mypy, in my local environment.
This is a PR of style nits for autoscaler.py meant to silence my linters.

This PR also adds a mypy check for autoscaler.py
2022-07-18 15:27:19 -05:00
Yi Cheng
df421ad499
[coe] Remove gil when submit actor and tasks to avoid deadlock for some cases. (#26421)
When submit task, GIL is not released due to this PR.
This cause a potential deadlock when actor died and got notified by GCS. In this case, the callback function submitted by GetAsync is going to execute some python function and the GIL is still hold by submit task. And submit task is blocking by a lock which is not released.

In the previous PR, it seems to fix some memory issue, but it's seems not there any more.


Signed-off-by: Yi Cheng <chengyidna@gmail.com>
2022-07-18 12:47:54 -07:00
Kai Fricke
00947fd949
[air/benchmarks] Add 4x1 GPU benchmark for Torch (#26562) 2022-07-18 12:14:10 -07:00
Kai Fricke
0bc5198c55
[air/tuner] Add more config arguments to Tuner (#26656)
The Tuner API is missing some arguments that tune.run() currently supports. This PR adds a number of them and adds a test to make sure they are correctly passed.

Signed-off-by: Kai Fricke <kai@anyscale.com>
2022-07-18 19:32:10 +01:00
Cheng Su
0bb819f339
[Datasets] Add clearer actionable error message for AWS S3 credential error (#26619)
In https://github.com/ray-project/ray/issues/19799, and https://github.com/ray-project/ray/issues/24184, we found when using Datasets to read S3 file, if file's credential is not set up right, the `read_xxx` API would throw confusing error message with `AWS Error [code 15]: No response body` like below:

```
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/chengsu/ray/python/ray/data/read_api.py", line 758, in read_binary_files
    return read_datasource(
  File "/Users/chengsu/ray/python/ray/data/read_api.py", line 267, in read_datasource
    requested_parallelism, min_safe_parallelism, read_tasks = ray.get(
  File "/Users/chengsu/ray/python/ray/_private/client_mode_hook.py", line 105, in wrapper
    return func(*args, **kwargs)
  File "/Users/chengsu/ray/python/ray/_private/worker.py", line 2196, in get
    raise value.as_instanceof_cause()
ray.exceptions.RayTaskError(PermissionError): ray::_get_read_tasks() (pid=80200, ip=127.0.0.1)
  File "pyarrow/_fs.pyx", line 439, in pyarrow._fs.FileSystem.get_file_info
  File "pyarrow/error.pxi", line 143, in pyarrow.lib.pyarrow_internal_check_status
  File "pyarrow/error.pxi", line 114, in pyarrow.lib.check_status
OSError: When getting information for key 'trainaasdasd' in bucket 'balajis-tiny-imagenet': AWS Error [code 15]: No response body.
```

The error message mentions nothing related to file credential, so it's quite confusing. This PR is to catch the error and give a better error message:

```
ray::_get_read_tasks() (pid=80200, ip=127.0.0.1)
  File "/Users/chengsu/ray/python/ray/data/read_api.py", line 1127, in _get_read_tasks
    reader = ds.create_reader(**kwargs)
  File "/Users/chengsu/ray/python/ray/data/datasource/file_based_datasource.py", line 212, in create_reader
    return _FileBasedDatasourceReader(self, **kwargs)
  File "/Users/chengsu/ray/python/ray/data/datasource/file_based_datasource.py", line 350, in __init__
    self._paths, self._file_sizes = meta_provider.expand_paths(
  File "/Users/chengsu/ray/python/ray/data/datasource/file_meta_provider.py", line 173, in expand_paths
    _handle_read_s3_files_error(e, path)
  File "/Users/chengsu/ray/python/ray/data/datasource/file_meta_provider.py", line 342, in _handle_read_s3_files_error
    raise PermissionError(
PermissionError: Failing to read AWS S3 file(s): "balajis-tiny-imagenet/trainaasdasd". Please check file exists and has proper AWS credential. See https://docs.ray.io/en/latest/data/creating-datasets.html#reading-from-remote-storage for more information.
```
2022-07-18 11:26:01 -07:00