Commit graph

13803 commits

Author SHA1 Message Date
Alex Wu
b84ab363ec
[autoscaler] Remove deprecated fields from schema (#27040)
This change cuts off support for deprecated schema fields. It intentionally breaks backwards compatibility with old configs which set a global `min_workers`, use `head_node` or `worker_nodes`, `autoscaling_mode`, `initial_workers`, `target_utilization_fraction`, and `default_worker_node_type` fields.

Co-authored-by: Alex <alex@anyscale.com>
2022-07-28 11:03:43 -07:00
Yi Cheng
7db996e4db
[workflow] Fix test_logging in workflow. (#27144)
test_logging.py fail to run in CI. This PR update it to the latest API and make it run in CI.
2022-07-28 10:48:03 -07:00
Chen Shen
0d49901651
[Data][Split] Fix split ownership (#27149)
fb54679 introduced a bug by calling ray.put in the remote _split_single_block. This changes the ownership from driver to the worker who runs _split_single_block, which breaks dataset's lineage requirement and failed the chaos test.

To fix the issue we need to ensure the split block refs are created by the driver, which we can achieved by creating the block_refs as part of function returns.
2022-07-28 10:39:14 -07:00
Clark Zinzow
df124d0ad5
[AIR - Datasets] Hide tensor extension from UDFs. (#27019)
We previously added automatic tensor extension casting on Datasets transformation outputs to allow the user to not have to worry about tensor column casting; however, this current state creates several issues:

1. Not all tensors are supported, which means that we’ll need to have an opaque object dtype (i.e. ndarray of ndarray pointers) fallback for the Pandas-only case. Known unsupported tensor use cases:
a. Heterogeneous-shaped (i.e. ragged) tensors
b. Struct arrays
2. UDFs will expect a NumPy column and won’t know what to do with our TensorArray type. E.g., torchvision transforms don’t respect the array protocol (which they should), and instead only support Torch tensors and NumPy ndarrays; passing a TensorArray column or a TensorArrayElement (a single item in the TensorArray column) fails.
Implicit casting with object dtype fallback on UDF outputs can make the input type to downstream UDFs nondeterministic, where the user won’t know if they’ll get a TensorArray column or an object dtype column.
3. The tensor extension cast fallback warning spams the logs.

This PR:

1. Adds automatic casting of tensor extension columns to NumPy ndarray columns for Datasets UDF inputs, meaning the UDFs will never have to see tensor extensions and that the UDF input column types will be consistent and deterministic; this fixes both (2) and (3).
2. No longer implicitly falls back to an opaque object dtype when TensorArray casting fails (e.g. for ragged tensors), and instead raises an error; this fixes (4) but removes our support for (1).
3. Adds a global enable_tensor_extension_casting config flag, which is True by default, that controls whether we perform this automatic casting. Turning off the implicit casting provides a path for (1), where the tensor extension can be avoided if working with ragged tensors in Pandas land. Turning off this flag also allows the user to explicitly control their tensor extension casting, if they want to work with it in their UDFs in order to reap the benefits of less data copies, more efficient slicing, stronger column typing, etc.
2022-07-28 10:37:45 -07:00
shrekris-anyscale
510a0e038c
[Serve] Add host and port options to the Serve config file (#27026)
The Serve CLI and REST API always sets the host to `0.0.0.0` and the port to Serve's default. This change adds `host` and `port` as top level options in the Serve config file, so users can manually set the host and port of their Serve application to different values.

This change introduces a new Serve config file format:

```yaml
import_path: ...

runtime_env: ...

host: ...

port: ...

deployments: ...
    ...
```

`host` and `port` are optional and can be omitted. A running Serve application's `host` and `port` cannot be changed. If a user tries to `serve deploy` a config file with different `host` and `port` options than an already-running Serve application, `serve deploy` will fail without making any changes to the application. The user must `serve shutdown` their application and restart it with `serve deploy` to change their `host` and `port`.

**Follow-Up Items**
* The following CLI commands should **not** start Serve automatically. They should check whether Serve is running and perform some sort of no-op if it's not. That would alleviate the concern that the user starts Serve by accident through a `GET` request and needs to deal with default `host`/`port` options. Corresponding docs should also be updated.
    * `serve status`
    * `serve config`
    * `serve shutdown`
2022-07-28 11:26:46 -05:00
Guyang Song
79fb4a9821
[hotfix] Fix the failure of java test (#27183)
Signed-off-by: 久龙 <guyang.sgy@antfin.com>
2022-07-29 00:15:41 +08:00
Alan Guo
c624d04842
Add back job_id to submit_job API to maintain backwards-compatibility (#27110)
Fix for a unintentional backwards-compatibility breakage for #25902
job submit api should still accept job_id as a parameter

Signed-off-by: Alan Guo aguo@anyscale.com
2022-07-28 08:20:53 -07:00
Kai Fricke
3cd9a0446b
[tune/rllib/release] Load correct metadata file in rllib cloud tests (#27164)
Currently this tries to load a stale metadata file that doesn't exist anymore after internal refactoring.

Signed-off-by: Kai Fricke <kai@anyscale.com>
2022-07-28 15:51:09 +01:00
Jialing He
14dee5f6a3
[Job Submission][refactor 1/N] Add AgentInfo to GCSNodeInfo (#26302)
This is the first PR of #25963 :
1. Moved the agent information from `internal KV to `GCSNodeInfo`,
2. raylet registers itself after the agent process finished register.

Motivation:
Storing agent information in `internal KV` and registering nodes in GCS (write node information to `GCSNodeInfo`) are two asynchronous operations, which will bring some complex timing problems, especially after `raylet` failover
2022-07-28 22:20:28 +08:00
Kai Fricke
1d3c167bfe
[rllib/release] Fix rllib connect test with Tuner() API (#27155)
Currently failing because the Tune framework example does not return fitting results.

Signed-off-by: Kai Fricke <kai@anyscale.com>
2022-07-28 11:08:02 +01:00
Siyuan (Ryans) Zhuang
cca9030000
[Workflow] Fix flaky workflow events CI test by extending timeout (#27124)
Fix the flaky workflow events CI tests by extending timeout.
2022-07-28 00:10:15 -07:00
SangBin Cho
493a1f7de5
Increase the limit. (#27148) 2022-07-27 22:34:00 -07:00
Eric Liang
a4434fac7f
[docs] Fix the remaining style violations in docstrings and add lint rule (#27033) 2022-07-27 22:24:20 -07:00
Jiao
0dbb18a87d
[AIR][Data] Fix nyc_taxi_basic_processing notebook (#26983) 2022-07-27 21:37:04 -07:00
matthewdeng
0319dcd889
[air] fix xgboost_benchmark script by passing in args (#27146) 2022-07-27 19:08:15 -07:00
Cade Daniel
db26c779a0
[Ray clusters] [docs] Copying all Ray Clusters doc content to new structure (#27062) 2022-07-27 14:22:44 -07:00
Jiajun Yao
4f0fb3a5da
Mark test_usage_stats.py as large (#27111)
Currently the time is on the edge of 300s.

Signed-off-by: Jiajun Yao <jeromeyjj@gmail.com>
2022-07-27 14:16:06 -07:00
xwjiang2010
eb69c1ca28
[air] Add annotation for Tune module. (#27060)
Co-authored-by: Kai Fricke <kai@anyscale.com>
2022-07-27 13:53:46 -07:00
Amog Kamsetty
41aaf78274
[Hotfix/ML] Don't run ML tests in Windows (#27100)
Signed-off-by: Amog Kamsetty amogkamsetty@yahoo.com

Tests for upstream ML libraries (xgboost-ray, ray-lightning, etc.) were recently refactored from ray.util to ray.tests. This caused them to be run in Windows CI, but Windows CI does not have any ML dependencies. This PR disables these tests from being run on Windows, which matches the previous behavior.
2022-07-27 13:45:00 -07:00
Malinda
1d789aee63
[RLlib/Serve/Release tests] Few code refactoring for better use of efficient NumPy functions. (#26284) 2022-07-27 22:38:35 +02:00
Jun Gong
e1cf0cc982
[RLlib] Deflake cartpole crashing tests. (#27097)
Make sure cartpole crashing tests are not flaky.
2022-07-27 12:50:34 -07:00
Balaji Veeramani
66ed41b22a
[AIR] Add __repr__ to AIR classes (#27006) 2022-07-27 12:34:10 -07:00
Kai Fricke
3924a4b7cc
[air/train] Rename BaseWorkerMixin, only log info torch loop for rank 0 (#27098)
This PR

- only prints train_loop info strings (e.g. `train_loop_utils.py:298 -- Moving model to device: cpu`) for rank 0 workers for torch
- renames `BaseWorkerMixin` to `RayTrainWorker` as the name comes up often in output and is more meaningful

Signed-off-by: Kai Fricke <kai@anyscale.com>
2022-07-27 20:11:59 +01:00
shrekris-anyscale
4ab97399cd
[Serve] Only start Serve in the CLI through the serve deploy command (#27063)
These Serve CLI commands start Serve if it's not already running:

* `serve deploy`
* `serve config`
* `serve status`
* `serve shutdown`

#27026 introduces the ability to specify a `host` and `port` in the Serve config file. However, once Serve starts running, changing these options requires tearing down the entire Serve application and relaunching it. This limitation is an issue because users can inadvertently start Serve by running one of the `GET`-based CLI commands (i.e. `serve config` or `serve status`) before running `serve deploy`.

This change makes `serve deploy` the only CLI command that can start a Serve application on a Ray cluster. The other commands have updated behavior when Serve is not yet running on the cluster.

* `serve config`: prints an empty config body.

```yaml
import_path: ''
runtime_env: {}
deployments: []
```

* `serve status`: prints an empty status body, with a new `app_status` `status` value: `NOT_STARTED`.

```yaml
app_status:
  status: NOT_STARTED
  message: ''
  deployment_timestamp: 0
deployment_statuses: []
```

* `serve shutdown`: performs a no-op.
2022-07-27 13:21:19 -05:00
Cheng Su
0217c25d6f
Datasets] Cover more pattern of AWS S3 read error message (#27027)
Seeing one more pattern of AWS S3 read error message related to credential - https://gist.github.com/jiaodong/a805577c35e44e720ff10136f5ec6f6c, shared from @jiaodong. Change the regex pattern to match the error message as well, so it prints out more understandable error message.

Signed-off-by: Cheng Su <scnju13@gmail.com>
2022-07-27 11:13:24 -07:00
Simon Mo
8bb37c3a9e
[Serve] Add Custom Usage Tags for Reporting (#27061) 2022-07-27 10:59:41 -07:00
Amog Kamsetty
2fe0ac11a4
[Train] Remove CheckpointConfig from ray.train (#27101)
Signed-off-by: Amog Kamsetty amogkamsetty@yahoo.com

Quick follow up to #27005 to add back CheckpointConfig to ray.train
2022-07-27 10:59:25 -07:00
Jun Gong
acf2bf9b2f
[RLlib] Get rid of all these deprecation warnings. (#27085) 2022-07-27 10:48:54 -07:00
Yuan-Chi Chang
659d25a3a9
[workflow] http_event_provider and accompanied listener (#26010)
### Why are these changes needed?
This PR enhances workflow functionality to receive external events from a Serve based HTTP endpoint. A workflow can then consume events asynchronously as they arrive. 

### Design Logic
A `workflow.wait_for_event` node subscribes to the endpoint instantiated by a Ray Serve deployment of class `http_event_provider.HTTPEventProvider`. The subscription is made through a helper class `http_event_provider.HTTPListener`. `HTTPListener` implements the methods of `EventListener` to poll from and confirm event checkpointing to `HTTPEventProvider`, before `HTTPEventProvider`acknowledges success or error to the event submitter. 

### Architecture Improvement
The logic of this enhancement conforms with existing workflow runtime design.
2022-07-27 17:26:22 +00:00
Richard Liaw
5c995ca824
[air] improve warning for datasets usage (#26988)
Co-authored-by: Amog Kamsetty <amogkamsetty@yahoo.com>
Co-authored-by: Amog Kamsetty <amogkam@users.noreply.github.com>
2022-07-27 10:15:59 -07:00
matthewdeng
113c4d7fab
[air][data] move train_test_split to ray.data.Dataset (#27065) 2022-07-27 09:53:37 -07:00
SangBin Cho
eb5225e0f3
[Core] Reduce surfacing scary Failed to get the resource load: messages upon node failures (#27094)
Why are these changes needed?
Node failures logs become extremely spammy with Failed to get the resource load: logs. This PR removes the logs from driver-side logs and prints it less often
2022-07-27 09:35:57 -07:00
Kai Fricke
f1f526ef1d
[hotfix/xgboost/lightgbm] Fix checkpoint creation in test
Signed-off-by: Kai Fricke <kai@anyscale.com>
2022-07-27 17:31:55 +01:00
Archit Kulkarni
60f33777a2
[runtime env] Add URI support for plugins (#26746) 2022-07-28 00:28:19 +08:00
Jimmy Yao
274ea2a1ba
[Ray Air] followup to the PR (#26493) set the correct gpu id in TorchTrainer (2.0) (#26704) 2022-07-27 09:27:24 -07:00
Kai Fricke
1a7007e50c
[tune/rllib] Beautify long sequence output for verbose=3 (#27093)
RLLib outputs for verbose=3 are too long at the moment. This is the first step of beautifying this table output by putting sequences of length > 3 into flow style.

Signed-off-by: Kai Fricke <kai@anyscale.com>
2022-07-27 17:25:49 +01:00
Simon Mo
e5a8b1dd55
[Serve] Add API Annotations And Move to _private (#27058) 2022-07-27 09:08:26 -07:00
Archit Kulkarni
0e47fb4ed9
[Jobs] [runtime env] Allow RuntimeEnvConfig object in Job Submission (#26989) 2022-07-27 11:06:23 -05:00
Kai Fricke
0e5626a0e7
[air/train] Default to 2 CPUs per actor for LightGBM Trainer (#27014)
Before this PR, updating default ray params in GBDT trainers was faulty. This PR addresses these issues and sets the default number of cpus per actor for lightgbm trainer to 2.

Signed-off-by: Kai Fricke <kai@anyscale.com>
2022-07-27 16:25:31 +01:00
Tao Wang
93f640751b
Add DCO prompt in PR template (#27072)
We require DCO in the PR, but people always forget it until the PR being created.
Putting a prompt line in the PR template may help.
2022-07-27 23:19:51 +08:00
Kai Fricke
8fda425eca
[tune/rllib] Hotfix ml_utils deprecation import error (#27095)
The changes conflicted with a recently merged PR that refactored the package structure (#27005).

Signed-off-by: Kai Fricke <kai@anyscale.com>
2022-07-27 16:11:58 +01:00
Kai Fricke
a5ea99cf95
[rfc] [tune/rllib] Fetch _progress_metrics from trainable for verbose=2 display (#26967)
RLLibs trainables produce a large number of metrics which makethe log output with verbose=2 illegible. This PR introduces a private `_progress_metrics` property for trainables. If set, the trial progress callback will only print these metrics per default, unless overridden e.g. with a custom `TrialProgressCallback`.
2022-07-27 16:04:23 +01:00
Guyang Song
87b164c84b
Add C++ worker code owner (#27088)
Signed-off-by: 久龙 <guyang.sgy@antfin.com>
Add @kfstorm to the C++ worker code owner group.
2022-07-27 23:00:26 +08:00
SangBin Cho
a6fe2c1e87
[Release test] Add a memory monitor to nightly test long running actor death (#27083)
Add a memory monitor to nightly test long running actor death. It will be used to see memory leak from the test
2022-07-27 07:32:10 -07:00
Alan Guo
a7dca17973
Make New Dashboard the default dashboard (#26996)
Add UsageStats alert to new dashboard
Update wording of "back to legacy dashboard", "try new dashboard" buttons

Signed-off-by: Alan Guo aguo@anyscale.com
2022-07-27 07:04:34 -07:00
SangBin Cho
028684032b
[State Observability] Add warnings for data truncation + order columns as it is defined in StateSchema (#27018)
# Why are these changes needed?

This PR does 3 things

Add warnings for data truncation (which is a follow-up)
Improve some of confusing warning messages
order columns as it is defined in StateSchema (so that we can customize the column order for better usability). I did this only for list because i thought it wasn't that important for summary, but I might be wrong
2022-07-27 06:56:30 -07:00
Ricky Xu
2451b5ff33
[Core][State Observability] Customized options for grpc at state manager (#27071)
Signed-off-by: rickyyx rickyx@anyscale.com

# Why are these changes needed?

This should make the state API more scalable, and somewhat lower the chance issues like #27009 happening.
2022-07-27 06:39:21 -07:00
Kai Fricke
1d2735093d
[air] Add tests for BatchPredictor and all data batch types (#27013)
This PR makes sure that all predictors work in a BatchPredictor

Signed-off-by: Kai Fricke <kai@anyscale.com>
2022-07-27 14:25:18 +01:00
Amog Kamsetty
862d10c162
[AIR] Remove ML code from ray.util (#27005)
Removes all ML related code from `ray.util`

Removes:
- `ray.util.xgboost`
- `ray.util.lightgbm`
- `ray.util.horovod`
- `ray.util.ray_lightning`

Moves `ray.util.ml_utils` to other locations

Closes #23900

Signed-off-by: Amog Kamsetty <amogkamsetty@yahoo.com>
Signed-off-by: Kai Fricke <kai@anyscale.com>
Co-authored-by: Kai Fricke <kai@anyscale.com>
2022-07-27 14:24:19 +01:00
Jiajun Yao
6c2bfccad9
Support recording usage in ray client (#26957)
Signed-off-by: Jiajun Yao jeromeyjj@gmail.com

# Why are these changes needed?

Fix internval kv operations in ray client mode
Support recording usages in ray client. Currently we may miss library usages if users use ray client to run their program.
2022-07-27 06:21:45 -07:00