Commit graph

7508 commits

Author SHA1 Message Date
Cheng Su
eb71365f32
[Datasets] Use SPREAD scheduling strategy and turn off Parquet sampling by default (#27034)
Why are these changes needed?
The Parquet file sampling PR (#26868) caused nightly test regression - #26995 . Turning off the feature by default, and keep debugging the root cause, to unblock nightly test.
2022-07-27 01:35:22 -07:00
Eric Liang
6a41c10496
[docs] Try to clarify the cpu fraction setting (#27030)
Try to clarify the behavior of this option with better wording.
2022-07-27 01:30:58 -07:00
Dmitri Gekhtman
c4a259828b
[kuberay] Update KubeRay operator commit, turn autoscaler RPC drain back on (#27077)
This PR:

- Updates the KubeRay operator commit used in the Ray CI autoscaling test
- Uses the RayCluster autoscaling sample config from the KubeRay repo in place of of a config from the Ray repo
- Turns the autoscaler RPC worker drain back on, as I saw some dead node messages from the GCS, and the RPC drain is supposed to avoid those.

Signed-off-by: Dmitri Gekhtman <dmitri.m.gekhtman@gmail.com>
2022-07-27 00:00:51 -07:00
Alex Wu
3322558287
[autoscaler][aws] Fix example minimal (#27075)
Why are these changes needed?
The DLAMI moved underneath us and broke for 2 reasons.

The AMI's snapshot size increased to 140 GB which was more than our hardcoded max EBS volume size of 100GB
The AMI dropped support for python 3.7 and only has 3.8 now.
The solutions short term solutions are simple.

Allocate a bigger EBS volume.
Use the tensorflow 3.8 env.
Related issue number
Closes #26368

Co-authored-by: Alex <alex@anyscale.com>
2022-07-26 23:14:49 -07:00
Alex Wu
eacc763c84
[autoscaler][docs] No more legacy autoscaler yamls (#27037)
Why are these changes needed?
This PR updates all autoscaler yaml examples/defaults to not use the legacy head_node and worker_node fields and deletes the explicit example-full-legacy yamls and the corresponding tests.

Related issue number
For ease of review, this PR is purely cosmetic/yaml editing (plus minor test changes to keep CI happy). It partially satisfies #20837. There will be 2 more follow up PRs (one to make the schema change and update the configs baked into unit tests, and another to clean up the legacy code).

Co-authored-by: Alex <alex@anyscale.com>
2022-07-26 22:29:47 -07:00
Amog Kamsetty
13d185cd81
[AIR] Predictor call_model API for unsupported output types (#26845) 2022-07-26 20:48:52 -07:00
Balaji Veeramani
89f7f2a567
[Datasets] Add size parameter to ImageFolderDatasource (#26975)
If you read a folder with differently-sized images, `ImageFolderDatasource` errors. This PR fixes the issue by resizing images to a user-specified size.
2022-07-26 14:57:38 -07:00
SangBin Cho
2ca11d61b3
[State Observability] Set the default detail formatting as yaml + quicker head node register (#26946)
## Why are these changes needed?

This PR does 2 things.

1. When `--detail` is specified, set the default formatting as yaml. 
2. It seems like it takes 5 seconds to register the head node to the API server (because it gets node info every 5 second, and when the API server just starts, the head node is not registered to GCS). It decreases the node ping frequency until the head node is registered to API server. 

## Related issue number

Closes https://github.com/ray-project/ray/issues/26939
2022-07-26 13:49:30 -07:00
Amog Kamsetty
68670e375d
Revert "Revert "[Train] Add support for handling multiple batch data types for prepare_data_loader"" (#26491)
Signed-off-by: Amog Kamsetty <amogkamsetty@yahoo.com>

* Revert "Revert "[Train] Add support for handling multiple batch data types for prepare_data_loader (#26386)" (#26483)"

This reverts commit e6c04031fd.
2022-07-26 11:59:41 -07:00
Sihan Wang
5bcaf4ffcb
[Serve] Add deprecation warning for serve.start() (#26901) 2022-07-26 11:27:36 -07:00
Siyuan (Ryans) Zhuang
e1db8fb382
[Workflow] Workflow client integration (#26702)
## Why are these changes needed?

This PR ensures that workflow can work properly with Ray client.

Regular workflow tests will (also) be running under client mode (as a pytest parameter). Some tests are moved and reorganized, because the Ray client tests requires starting the cluster, so some tests requires isolation or related changes.

Tests that literally take down the cluster are not tested with Ray client, since Ray client would fail in this scenario.

Limitations of Ray Workflow under Ray client are noted in the doc.

## Related issue number

Closes #21595
2022-07-26 11:15:47 -07:00
truelegion47
260d00a83f
[Serve] Fix weird quote escaping in "waiting to be placed" error in serve status. (#26652) 2022-07-26 10:53:14 -07:00
Dmitri Gekhtman
0860dd2f52
[kuberay] More aggressive autoscaling defaults
Signed-off-by: Dmitri Gekhtman <dmitri.m.gekhtman@gmail.com>

Introduces more aggressive autoscaling defaults for KubeRay.
2022-07-26 10:46:00 -07:00
Jian Xiao
b8660f511a
Make PipelineExecutor serializable by deferring the thread pool creation (#26979) 2022-07-26 10:33:47 -07:00
Alex Wu
a72b673ce4
[log_monitor] Check if files need to be reopened (#26847) 2022-07-26 10:32:47 -07:00
Balaji Veeramani
8bc836d9fb
[AIR] Remove CustomStatefulPreprocessor (#26981) 2022-07-26 10:10:57 -07:00
Balaji Veeramani
55988992b9
[AIR] Rename limit parameter as max_categories (#26977) 2022-07-26 10:10:40 -07:00
SangBin Cho
39b9c44c8d
[State Observability] pre-alpha documentation (#26560)
Adds

Documentation for state APIs
API reference
2022-07-26 05:49:28 -07:00
Kai Fricke
78d6fc689b
[tune/air] Tuner().restore() from cloud URIs (#26963)
Currently, restoring from cloud URIs does not work for Tuner() objects. With this PR, e.g. `Tuner.restore("s3://bucket/exp")` will work.

Signed-off-by: Kai Fricke <kai@anyscale.com>
2022-07-26 12:20:07 +01:00
Balaji Veeramani
262ce1acef
[AIR] Change Categorizer signature (#26980) 2022-07-26 00:35:36 -07:00
Dmitri Gekhtman
b2b11316cd
[autoscaler][kuberay] Disable autoscaler health check and drain functionality (#26764)
Signed-off-by: Dmitri Gekhtman <dmitri.m.gekhtman@gmail.com>

For KubeRay,

Disables autoscaler's RPC drain of worker nodes prior to termination.
Disables autoscaler's termination of nodes disconnected from the GCS.
2022-07-25 23:35:01 -07:00
Ricky Xu
259473c221
[Core][State Observability] Truncate warning message is incorrect when filter is used (#26801)
Signed-off-by: rickyyx rickyx@anyscale.com

# Why are these changes needed?
When we returned less/incomplete results to users, there could be 3 reasons:

Data being truncated at the data source (raylets -> API server)
Data being filtered at the API server
Data being limited at the API server
We are not distinguishing the those 3 scenarios, but we should. This is why we thought data being truncated when it's actually filtered/limited.

This PR distinguishes these scenarios and prompt warnings accordingly.

# Related issue number
Closes #26570
Closes #26923
2022-07-25 23:31:49 -07:00
Yi Cheng
65563e994b
[core] Allow 0 waiting for death info to fail a task faster (#26993)
When a task failed, it'll wait for the death info and then fail. The waiting is 1s and the checking is every 1s. This is good for usability, but it causes issues for some cases because it'll delay the task return at most 2s and at least 1s.

This PR introduce an early cut where when the timeout is set to be 0, it'll just return immediately. The semantics doesn't change and for most users they are still going to get the message.
2022-07-25 23:29:08 -07:00
Ricky Xu
778a799909
easy test? (#26905)
Signed-off-by: rickyyx rickyx@anyscale.com

Why are these changes needed?
Making sure ray logs with node-id works

Related issue number
Closes #25764
2022-07-25 17:21:41 -07:00
Yi Cheng
33997da299
[core] Introduce a flag which allows a longer timeout for raylet when GCS restarts. (#26919)
## Why are these changes needed?
When GCS restarts, sometimes, raylet needs a while to reconnect to the GCS, for example, in k8s env, it needs a while to move GSC to the service. This PR try to fix this by allowing a longer timeout for the first ping when GCS restarts.

Once GCS get the first ping, it'll just use the regular timeout instead.
2022-07-25 16:57:19 -07:00
Jun Gong
ca5e0dcaf4
[RLLib] Record framework and algorithm used by an RLlib run. (#26956)
Automatically record framework and algorithm used by RLlib jobs.
For better planning.
2022-07-25 16:16:36 -07:00
matthewdeng
22f0439c17
[train] set split locality_hints (#26973) 2022-07-25 16:04:26 -07:00
Sihan Wang
8ecd928c34
[Serve] Make the checkpoint and recover only from GCS (#26753) 2022-07-25 14:24:53 -07:00
Kai Fricke
1b06e7a83a
[tune] Only sync down from cloud if needed (#26725)
Currently, trainables will try to sync up/down temporary checkpoints from cloud storage, leading to errors. These erros come up e.g. with PBT, which heavily uses saving/restoring from objects.

Instead, we should not sync these temporary checkpoints up at all, and we should generally not sync down if a local checkpoint directory exists, which will prevent us also from trying to sync down non-existent temporary checkpoint directories.

See #26714

Signed-off-by: Kai Fricke <kai@anyscale.com>
2022-07-25 21:49:01 +01:00
Siyuan (Ryans) Zhuang
4cc1ef1557
[Core] Refactoring Ray DAG object scanner (#26917)
* make sure Ray DAG can work with minimal install

Signed-off-by: Siyuan Zhuang <suquark@gmail.com>\
2022-07-25 13:48:09 -07:00
Kai Fricke
df217d15e0
[air] Raise error on path-like access for Checkpoints (#26970)
Calling e.g. `os.path.exists(checkpoint)` currently raises an TypeError, but we should make it more explicit and guide users towards the correct API.

Signed-off-by: Kai Fricke <kai@anyscale.com>
2022-07-25 21:45:31 +01:00
matthewdeng
df638b3f0f
[Datasets] Automatically cast tensor columns when building Pandas blocks. (#26924)
This PR just applies the changes from the following PRs:

[Datasets] Automatically cast tensor columns when building Pandas blocks. #26684
reverted by Revert "[Datasets] Automatically cast tensor columns when building Pandas blocks." #26921
[AIR - Datasets] Fix TensorDtype construction from string and fix example. #26904
This fixes the test failures introduced in the originally reverted PRs.
2022-07-25 12:12:10 -07:00
Siyuan (Ryans) Zhuang
0e1b77d52a
[Workflow] Fix flaky example(#26960)
Signed-off-by: Siyuan Zhuang <suquark@gmail.com>
2022-07-25 12:00:45 -07:00
Alan Guo
e8222ff600
[dashboard] Update cluster_activities endpoint to use pydantic. (#26609)
Update cluster_activities endpoint to use pydantic so we have better data validation.

Make timestamp a required field.
Add pydantic to ray[default] requirements
2022-07-25 10:54:22 -07:00
Richard Liaw
aae0aaedbd
[air] Un-revert "[air] remove unnecessary logs + improve repr for result" (#26942) 2022-07-25 10:35:25 -07:00
Jiao
bf1d9971f1
[setup-dev] Add flag to skip symlink certain folders (#26899) 2022-07-25 10:21:20 -07:00
Kai Fricke
ec1995a662
[air/tune/docs] Cont. convert Tune examples to use Tuner.fit() (#26959) 2022-07-25 09:52:12 -07:00
Kai Fricke
de7bd015a4
[air/tune/docs] Change Tuner() occurences in rest of ray/tune (#26961) 2022-07-25 09:47:48 -07:00
matthewdeng
3ea80f6aa1
[data] set iter_batches default batch_size (#26955)
Why are these changes needed?
Resubmitting #26869.

This PR was reverted due to failing tests; however, those failures were actually due to a dependency: #26950
2022-07-25 08:34:25 -07:00
Kai Fricke
abde2a5f97
[tune] Fix current best trial progress string for metric=0 (#26943)
Signed-off-by: Kai Fricke <kai@anyscale.com>
2022-07-25 00:41:26 -07:00
Siyuan (Ryans) Zhuang
4a1ad3e87a
[Workflow] Support "retry_exceptions" of Ray tasks (#26913)
* support 'retry_exceptions'

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

* add test

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

* add doc

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

* fix

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

* typo

Signed-off-by: Siyuan Zhuang <suquark@gmail.com>
2022-07-24 20:50:11 -07:00
matthewdeng
a012033033
[ci] pin werkzeug (#26950)
Signed-off-by: Matthew Deng matt@anyscale.com

Note: This aims to mitigate the errors of the failing tests, but a follow-up is needed for a long-term solution.

Why are these changes needed?

A bunch of CI tests started failing on 7/23.

Quick sanity check shows only werkzeug was upgraded from 2.1.2 to 2.2.0. The new version was released on 7.23.

Verified that running pip install -U Werkzeug==2.1.2 fixes (at least) test_dataset_formats.
2022-07-24 20:09:09 -07:00
SangBin Cho
15b711ae6a
[State Observability] Warn if callsite is disabled when ray list objects + raise exception on missing output (#26880)
This PR does 3 things.
1. Warn if callsite is disabled when `ray list objects` and `ray summary objects`
2. Decode owner_id for ray list actors
3. Support raise_on_missing_output
2022-07-24 19:55:36 -07:00
Richard Liaw
d01a80eb11
[core] runtime context resource ids getter (#26907) 2022-07-24 16:56:44 -07:00
Yi Cheng
0c16619475
[core] Make ray able to connect to redis without pip redis. (#25875)
Signed-off-by: Yi Cheng <chengyidna@gmail.com>

## Why are these changes needed?
Right now, only cpp layer in ray is connecting to redis which means we don't need pip redis to connect to a redis db.

The blocking part is that we are doing some sharding in redis right now. But this feature is not actually used and the shard is always 1. So to make things simple, this feature is just disabled.

Test is added to make sure we can start ray with a redis db without pip redis.
2022-07-24 14:11:30 -07:00
Kai Fricke
8d7b865614
[air/tuner/docs] Update docs for Tuner() API 2a: Tune examples (non-docs) (#26931)
Splitting up #26884: This PR includes changes to use Tuner() instead of tune.run() for all examples included in python/ray/tune/examples

Signed-off-by: xwjiang2010 <xwjiang2010@gmail.com>
Signed-off-by: Kai Fricke <kai@anyscale.com>

Co-authored-by: xwjiang2010 <xwjiang2010@gmail.com>
Co-authored-by: Richard Liaw <rliaw@berkeley.edu>
2022-07-24 21:00:22 +01:00
Cheng Su
e19cf164fd
[Datasets] Use sampling to estimate in-memory data size for Parquet data source (#26868) 2022-07-24 09:58:57 -07:00
Kai Fricke
8fe439998e
[air/tuner/docs] Update docs for Tuner() API 1: RSTs, docs, move reuse_actors (#26930)
Signed-off-by: Kai Fricke coding@kaifricke.com

Why are these changes needed?
Splitting up #26884: This PR includes changes to use Tuner() instead of tune.run() for most docs files (rst and py), and a change to move reuse_actors to the TuneConfig
2022-07-24 07:45:24 -07:00
Kai Fricke
c01bb831d4
[hotfix/data] Fix linter for test_split (#26944)
Signed-off-by: Kai Fricke <kai@anyscale.com> fix linting
2022-07-24 07:01:36 -07:00
Yi Cheng
c44d9ff397
[core] Fix the deadlock in submit task when actor failed. (#26898)
Signed-off-by: Yi Cheng <chengyidna@gmail.com>

## Why are these changes needed?

When actor died, it'll send notification to core workers. Right now, sometimes, core worker will queue the task waiting for actor death info and pop it up for better usability. But in async cases, this is going to cause issues.

The callback might submit tasks which require holding the lock. But it's already being held. This is going to cause a deadlock.

This PR fixed this by moving the failure part out of the lock.
2022-07-24 00:23:49 -07:00