Commit graph

10665 commits

Author SHA1 Message Date
Alex Wu
af9f1ef4dc
Pin redis back to redis >= 3.5.0 (#20661)
With the release of redis 4.0.2, there are no more warning message issues. Therefore, we no longer need to pin a maximum version of redis.
2021-11-23 15:51:20 -08:00
Yi Cheng
40db73c2ff
[gcs] Fix internal kv as the bottleneck when worker starts (#20662)
## Why are these changes needed?

Before the commit (e54d3117a4) all traffics go to redis which is a dedicated service.

After moving to gcs, internal kv are competing with gcs traffic which make it a bottleneck sometimes.

Before this PR, `many_actor` tests are failing, the reason is that when a lot of actors starts, gcs is really heavy loads, and then worker starts timeout because it failed to get internal kv requests executed in short time.
When worker failed, it'll starts a new worker even the original one is pending, and in the end there will be a lot workers.

There are several things here need to fix and this is the quick fix for this issues which also convert it back to the status when we are using redis.

## Related issue number

Closes #20602
2021-11-23 15:13:07 -08:00
Ameer Haj Ali
e3e9697bea
[docs] autoscaler/K8s hiring roles (#20621)
* we are hiring

* fixes as philipp requested
2021-11-23 14:56:22 -08:00
Sven Mika
49cd7ea6f9
[RLlib] Trainer sub-class PPO/DDPPO (instead of build_trainer()). (#20571) 2021-11-23 23:01:05 +01:00
Yi Cheng
b6b4d4cf57
[test] Update base image for nightly testing (#20680)
## Why are these changes needed?

`base_image: "anyscale/ray-ml:pinned-nightly-py37"` doesn't exist anymore which fails a lot of nightly tests, change to `base_image: "anyscale/ray-ml:nightly-py37-gpu"`
## Related issue number

## Checks
2021-11-23 11:06:44 -08:00
Amog Kamsetty
4484be6c96
[Train] Fix test_callback (#20603)
* fix

* Update test_callbacks.py
2021-11-23 09:10:47 -08:00
Matti Picus
85519fc3f6
[WINDOWS] remove complicated dos batch script that sometimes fails (#20670) 2021-11-23 08:59:29 -08:00
xwjiang2010
2b5ad4a3c0
[tune] TrialExecutor should not take in Runner interface. (#20655) 2021-11-23 16:54:47 +00:00
xwjiang2010
e24c1dccb0
[Tune] Remove unnecessary argument in update_last_result. (#20653) 2021-11-23 16:53:28 +00:00
SangBin Cho
720bca8a1c
Revert "[core] add runtime env info to task spec debug string (#20631)" (#20668)
This reverts commit e9132ed7ca.

<!-- 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?

Seems to break Windows build. 

```
(07:46:25) ERROR: BUILD.bazel:406:11: Compiling src/ray/common/task/task_spec.cc failed: (Exit 2): cl.exe failed: error executing command
```

<img width="487" alt="Screen Shot 2021-11-23 at 3 09 18 AM" src="https://user-images.githubusercontent.com/18510752/143013973-f157724c-4951-49a9-80c6-158d41aa4295.png">


## Related issue number

<!-- For example: "Closes #1234" -->

## Checks

- [ ] 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 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 :(
2021-11-23 03:09:39 -08:00
Guyang Song
e9132ed7ca
[core] add runtime env info to task spec debug string (#20631) 2021-11-23 14:10:56 +08:00
Guyang Song
191be85057
[script][format] check copyright for .proto files (#20632)
## Why are these changes needed?
- I found that we also have a copyright header in .proto files. Add it to the copyright formatter.
2021-11-23 12:26:30 +08:00
Jules S. Damji
5d920fb1ee
[docs][job submission] Fixed minor editorial nits (#20654) 2021-11-22 22:06:31 -06:00
Eric Liang
80d9476c50
Deflake test_multi_node_3.py::test_calling_start_head (#20652)
This test seems to be flaking since ray stop sometimes fails when sending SIGTERM only. While that's desirable to fix, the test is still testing the intended behavior even if we send SIGKILL.
2021-11-22 19:01:04 -08:00
Sven Mika
9d2fe5756c
[RLlib] Trainer sub-class for APPO (instead of using build_trainer()). (#20424) 2021-11-22 22:14:21 +01:00
Alex Wu
9388d28233
Revert "[runtime env] redefine runtime env to protobuf" (#20641)
Reverts #19511

Breaks windows compilation
2021-11-22 13:11:30 -08:00
Alex Wu
bb4c037e63
[codeowners] Add code owners on west coast to java (#20651)
We need code owners on the java files so that we can revert changes to java files that break CI.
2021-11-22 13:11:15 -08:00
Edward Oakes
39b2c3927c
[jobs] Add /api/version endpoint (#20622) 2021-11-22 15:11:04 -06:00
gjoliver
e7f9e8ceec
[RLlib] Report total_train_steps correctly for offline agents like CQL. (#20541)
* Fix trainer timestep reporting for offline agents like CQL.

* wip.

* extend timesteps_total to 200K for learning_tests_pendulum_cql test

Co-authored-by: sven1977 <svenmika1977@gmail.com>
2021-11-22 21:46:45 +01:00
Chen Shen
dc726ab6ba
[Core][Refactor CoreWorker 2/n] split CoreWorkerProcess from CoreWorker #19677
Move CoreWorkerProcess from CoreWorker into separate files. This PR depends on #19675. The follow up PR is #19678
2021-11-22 11:06:35 -08:00
iasoon
7745925203
[Serve] log errors in deployment initialization/configuration user code (#20620) 2021-11-22 09:23:15 -08:00
xwjiang2010
ae5c4d0dae
[tune] Remove _pause and related method in RayTrialExecutor. (#20555)
Removes legacy code path that is never invoked
2021-11-22 16:42:05 +00:00
Kai Fricke
236951ee4c
[tune] Introduce TrialCheckpoint class, making checkpoint down/upload easie (#20585)
This PR introduces a TrialCheckpoint class which is returned e.g. by ExperimentAnalysis.best_checkpoint. The class enables easy access to cloud storage locations (rather than just local directories before). It also comes with utilities to download, upload, and save trial checkpoints to local and cloud targets.
2021-11-22 14:16:26 +00:00
Dmitri Gekhtman
76a01862cb
[autoscaler][commands] Fix load metrics summary (#20623)
Running ray status with the changes from #20359
while running an autoscaler older than those changes
results in an error on input "head_ip" to LoadMetricsSummary.
See #20359 (comment)
This PR fixes the bug by restoring head_ip as an optional parameter of LoadMetricsSummary.
2021-11-22 07:34:02 -05:00
Lixin Wei
a912b68375
[Java] Reenable Named Actor Test. (#20627)
We skipped testGetNonExistingNamedActor for some reason. Now this test is ready to enable. This PR reenables this test.
2021-11-22 16:25:16 +08:00
Chen Shen
107aef89a8
[CUJ2] add nightly tests for running 500GB ray train (#20195)
* add

* update cluster env

* fix build

Co-authored-by: Matthew Deng <matthew.j.deng@gmail.com>
2021-11-21 20:04:45 -08:00
matthewdeng
caa4ff3783
[train][datasets] update example and remove dask (#20592) 2021-11-21 17:06:44 -08:00
Dmitri Gekhtman
0f70f40a2a
[autoscaler] Fewer non terminated nodes calls (#20359)
non_terminated_nodes calls are expensive for some node provider implementations.

This PR refactors autoscaler._update() such that it results in at most one non_terminated_nodes call.
Conceptually, the change is that the autoscaler only needs a consistent view of the world once per update interval.

The structure of an autoscaler update is now

call non_terminated_nodes to update internal state
update autoscaler status strings
terminate nodes we don't need, removing them from internal state as we go
run node updaters if needed
get nodes to launch based on internal state
There's a small operational difference introduced:
Previously -- After a node is created, its NodeUpdater thread is initiated immediately.
Now -- After a node is created, its NodeUpdater thread is initiated in the next autoscaler update.

This typically will not introduce latency, since the time to get SSH access (a few minutes) is much longer than the autoscaler update interval (5 seconds by default).

Along the way, I've removed the local_ip initialization parameter for LoadMetrics because it was confusing and not useful (and caused some tests to fail)
2021-11-21 12:22:24 -05:00
Yi Cheng
36ee3fd46b
[gcs] Remove rpush for storage in py (#20410)
## Why are these changes needed?
In python, redis rpush is used to broadcast and store the keys. In this PR, we use gcs kv to store the keys. pubsub is still using redis which need to be remove later.

The protocol before this PR:
- worker subscribe to redis key spaces
- worker write the key of function/actor to (export:sqn, key)
- so the other worker will be notified and start to load the data by checking export:sqn

This depends on redis for both kv and pubsub, and this PR fix the kv part.

After this PR:
- worker subscribe to redis key space
- For exporting:
  - worker will find the first key not being hold. This is guaranteed by internal kv which right now is a single thread, atomic db. The worker will just check until it find one key not existing and write it (this is single operation). One optimization right now is to use the import counter as the start offset since this counter means all keys before the counter has already been used.
  - worker will then write a dummy key to redis key space for broadcasting
- For importer
 - It's working as before, but instead of reading from redis, it will read from gcs kv.


This is part in redis removal project.

## Related issue number
https://github.com/ray-project/ray/issues/19443
2021-11-21 00:40:13 -08:00
Stephanie Wang
88136fa495
[core] Timeout object fetches that take too long (#20516)
Remerging #19789 with some fixes for Dask-on-Ray 1TB sort:

- Fixes a bug where the timer was not getting reset correctly
- Increased timeout to 10min just to be safe
- Changed the error to a unique exception ObjectFetchTimedOutError to improve debugging. 

This exception should usually indicate a system-level bug.
2021-11-20 16:43:56 -08:00
Guyang Song
ad56b9b432
[runtime env] redefine runtime env to protobuf (#19511) 2021-11-20 16:54:42 +08:00
Jiajun Yao
255bdc8fb1
Make fake node provider thread safe (#20591)
We may have multiple NodeLauncher threads access the same node provider so it should be thread safe.
2021-11-19 18:59:38 -08:00
Jiao
12c11894e8
[Jobs] Add documentation for ray job submission (#20530) 2021-11-19 16:59:05 -08:00
Amog Kamsetty
e1cd7b0016
[Train] Propagate env vars to BackendExecutor (#20523)
Propagates environment variables to BackendExecutor actor using runtime envs.

Also actually run test_callbacks in CI.

Note that there is an issue with runtime envs: #20587. But this only happens if you shutdown Ray and start a new session again.
2021-11-19 15:36:03 -08:00
Alex Wu
4cc225e9d4
Revert "Revert "[core] Nested task support via task depth + backpressure" (#20438)" (#20443)
This PR reverts the previous revert with the following minor changes.

Worker capping is off by default.
The cap feature flag is on the for the tests that explicitely require it.
2021-11-19 15:22:35 -08:00
Antoni Baum
c385756817
[datasets] Add an env var for progress bar behavior (#20586)
Adds a RAY_DATA_DISABLE_PROGRESS_BARS env var to control the default progress bar behavior. The default value is "0". Setting it to "1" disables progress bars, unless they are reenabled again by the set_progress_bars method.
2021-11-19 15:09:58 -08:00
Jiao
1a00964902
[job submission] Fix job sdk's lazy import of requests that led to minimal build failure (#20577) 2021-11-19 17:04:22 -06:00
Mark
379732a181
Bump abseil-cpp LTS 20211102 for clang-13 build (#20565)
Abseil LTS 20210324.2 will fail the compilation with clang-13. After this version bump, ray can be successfully built with clang-13.
2021-11-19 14:09:40 -08:00
architkulkarni
42085fd3d5
[runtime env] [Doc] Add concepts and basic workflows (#20222)
Address followup comments from https://github.com/ray-project/ray/pull/19863
- Add short "Concepts" section
- Add more section headings to break up the text
- Add "Workflow: Local Files" example
- Add "Workflow: Library development" example
2021-11-19 13:58:50 -08:00
mwtian
da79f24e8c
[Core][Pubsub] Refactor to prepare for migrating logging to Ray pubsub (#20560)
## Why are these changes needed?
Publisher and subscriber for logs, in driver, dashboard and tests are refactored to make it easier to support using Ray pubsub for logs. Actual support of Ray pubsub for logs will be added later in #20492.

This PR does not intend to introduce any behavior change.

## Related issue number
2021-11-19 12:28:37 -08:00
Chen Shen
77a8723bba
[Core][actor out-of-order execution 6/n] plumbing work to make it work e2e (#20177)
This PR is the last PR that enables out of order execution. Previous PR: #20176

In this PR specifically, we added an execute_out_of_order option to .options call, which creates the actor with both out_of_order_submit_queue and out_of_order_scheduling queue.

this PR also added @simon-mo original case for testing.
2021-11-19 11:05:18 -08:00
Dmitri Gekhtman
41af24c2ea
Head pod identity can change (#20566) 2021-11-19 09:57:48 -08:00
Eric Liang
79911510d3
Raise better error message when workers are killed with SIGTERM in k8s (#20557)
In k8s, sigterm almost always means the pod was killed due to memory limits. Raise a better error message there.
2021-11-19 09:36:37 -08:00
Chen Shen
f0e8d66a85
[Core][Refactor CoreWorker 1/n] move CoreWorkerOptions to its own file #19675
Why are these changes needed?
This is a serial of PRs to make CoreWorkerProcess thread-safe and CoreWorker Code easy to read. [#19675 #19677 #19678 #19679]

Move CoreWorkerOptions out of core_worker.h; makes the code easier to read.

Next PR: #19677
2021-11-19 09:24:30 -08:00
Alex Wu
24f27203ba
[hotfix] Fix inference nightly test by upgrading numpy (#20546)
The ray-ml image depends on numpy ~=1.19.2 via the tensorflow==2.6 requirement. Unfortunately that's incompatible with Dataset (see here #20258 (comment)).

This PR upgrades the numpy dependency only for the nightly test.
2021-11-19 08:15:23 -08:00
shrekris-anyscale
b910d7e9e1
[runtime_env] Remove deprecated username-password GitHub use case from doc (#20558) 2021-11-19 10:03:44 -06:00
Artur Niederfahrenhorst
d07e50e957
[RLlib] Replay buffer API (cleanups; docstrings; renames; move into rllib/execution/buffers dir) (#20552) 2021-11-19 11:57:37 +01:00
gjoliver
18862f9f44
[RLlib] Add a comment in the doc string of on_learn_on_batch callback function. (#20456) 2021-11-19 10:49:07 +01:00
Ameer Haj Ali
3c308667f1
[Tune] Fix checkpointing error message on K8s (#20559)
This commit improves the error message to guide users to setup cloud checkpointing if trial checkpoint syncing failed.
2021-11-19 09:17:38 +00:00
Sven Mika
9d5c4a9d21
[RLlib] API reference pages: rllib/env package only. (#20486) 2021-11-19 10:06:40 +01:00