Commit graph

10647 commits

Author SHA1 Message Date
xwjiang2010
96b44adf67
[Tune] Remove pg caching with fixes to pbt scheduler (#20403)
This reverts commit f13c2a5350.

Re-land remove PG caching logic.

As a result, pbt scheduler cannot stop and start trial within itself for weight transfer and perturbation now. So these are some changes to pbt scheduler:

1. the trial being perturbed is always left in a PAUSED state upon exiting on_trial_result. This is because instead of maintaining two separate paths for replacing a trial, we consolidate to always "stop" and "restore" and rely on reuse_actor as an optimization if available. (see 2)
2. consolidates pbt replacing a trial with reuse_actor.
3. introduces a NOOP scheduler decision to indicate that (pbt) scheduler has finished its interaction with executor and thus no decision is further needed in Tune loop.

Long term, we should control the interface between scheduler and executor. For example, on_trial_result taking in the whole runner is too much API exposure that we want to remove.
2021-11-26 15:54:45 +00:00
SangBin Cho
97b4490401
[Nightly Test] Readjust nightly test schedule (#20717)
- Removing scale_to logic from object store. We don't need to scale during tests, which will disambiguate infra failures vs app failures.
- Run microbenchmark in core nightly, meaning it will run even more often
- Run weekly scalability tests daily instead. (They are not too expensive).
- Run some core daily tests separately to avoid infra failures.
2021-11-26 06:59:16 -08:00
Qing Wang
55cb88f085
Add python unit test to make sure task in default group doesn't block others. (#20718)
Why are these changes needed?
This PR only adds a unit tests for Python concurrency group.

Related issue number
#20475
2021-11-26 21:10:49 +08:00
Kai Yang
722428a657
[Core] Fix worker pool crash due to incorrect pending_exit_idle_workers_ usage (#20180)
## Why are these changes needed?

When the Java multi-worker feature is on and if workers respond `Exit` requests from the worker pool with delays (even slower than the interval of `TryKillingIdleWorkers`), the worker pool may send additional `Exit` requests to workers before receiving replies of previous ones. This leads to a `RAY_CHECK` failure from here

60df705b4e/src/ray/raylet/worker_pool.cc (L984)

due to executing two reply callbacks in a row.

This PR fixes the bug by ensuring the worker pool only sends new `Exit` requests to a worker if there are no inflight `Exit` requests to any worker of the worker process.
2021-11-26 13:50:07 +08:00
SangBin Cho
31f378e45a
[Part 2] Improve RayActorDiedError: Store why the actor is dead to the actor table. (#20528)
This PR includes the precise reason why actor is dead to `ActorTable`. The `death cause` stored in the table will be propagated to core worker through pubsub, so that core worker can eventually raise a good error message with metadata.
2021-11-25 04:39:02 -08:00
Sven Mika
e37afe0425
[RLlib; Docs] Auto API reference pages overhaul: rllib/policy and rllib/agents packages. (#20537) 2021-11-25 09:35:19 +01:00
Guyang Song
454b7bd125
Revert "Revert "[core] add runtime env info to task spec debug string (#20668)" (#20697)
## Why are these changes needed?
- fix compiling error and revert the revert.
2021-11-24 23:03:10 -08:00
Qing Wang
cd2b83a259
[Core][ConcurrencyGroup] Fix blocking task in default group block tasks in other group. (#20525)
Why are these changes needed?
If max concurrency is 1 in default group, a blocking task executing in default group will block the following tasks in different group. See reproduction script in #20475

The issue is due to tasks executing in the default concurrent group run in the main task execution thread, and tasks in other concurrent groups will be blocked if the main task execution thread is blocked.

This PR only changes concurrent actor behavior that default group will not block other groups.

Related issue number
Fix #20475
2021-11-25 14:24:17 +08:00
SangBin Cho
d725457c9f
[Part 3] Improve ActorDiedError message: Passing error info (#20701)
<!-- 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?

In this PR, instead of passing specific "creation_task_exception", we pass RayErrorInfo. This will allow us to pass any type of error metadata to MarkTaskReturnObjectFailed. 

This PR is basically refactoring. 

## Related issue number

https://github.com/ray-project/ray/issues/20534

## 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-24 19:29:20 -08:00
qicosmos
c6e347c06f
Clean exported symbols (#20608)
* linkopts shared

* try to remove some symbols

* revert PyInit

* remove opencensus

* add suffix

* try to remove JNI

* _JNI_On*
2021-11-24 18:23:01 -08:00
SangBin Cho
cd7a32f1a5
[Nightly test] Chaos test fixture (#20277)
This PR is mostly for implementing "fixture" for nightly test. Note that the current fixture implementation is not that great, and we can probably improve this in the future after refactoring e2e.py.
2021-11-24 17:13:29 -08:00
Jiao
5ce79d0a46
[jobs] Fix job server's ray init(to use redis address rather than auto (#20705)
* [job submission] Use specific redis_address and redis_password instead of "auto" (#20687)

Co-authored-by: Edward Oakes <ed.nmi.oakes@gmail.com>
Co-authored-by: Jiao Dong <jiaodong@anyscale.com>
2021-11-24 15:38:26 -08:00
Eric Liang
75bd1fb01c
[data] Fix slow block evaluation when splitting is enabled (#20693)
This fixes slow lazy block evaluation by adding an explicit get_blocks() bulk method, and using that when-ever lazy iteration is not needed.

The root cause of the slowdown was because block splitting requires ray.get() during iteration over block refs, to materialize split blocks. However, this interferes with exponential rampup.
2021-11-24 15:25:54 -08:00
Yi Cheng
e24cee80e8
[docs] add dask compatibility for 1.9.0 (#20707) 2021-11-24 15:00:17 -08:00
Gagandeep Singh
f22a24aca4
Replace time based seed generation with absl::BitGen and absl::Uniform (#20696) 2021-11-24 14:36:35 -08:00
Matti Picus
8299f94ab8
Fail calling Cluster() on windows, skip tests appropriately (#20172) 2021-11-24 13:40:59 -08:00
Sven Mika
c07d8c4c22
[RLlib] Trainer sub-class A2C/A3C (instead of build_trainer). (#20635) 2021-11-24 22:07:13 +01:00
Alex Wu
63969c9a5c
[nigthly-tests][dataset] Use actor compute model for GPU inference (#20689)
## Why are these changes needed?
Fix nightly tests to avoid oom

## Checks
2021-11-24 11:03:23 -08:00
SangBin Cho
cc6dc4683f
Try deflaking worker capping on Windows (#20669) 2021-11-24 09:41:35 -08:00
Guyang Song
53630ee03b
Revert "Revert "[runtime env] redefine runtime env to protobuf"" and fix windows compiling (#20692)
- Fix windows compiling and revert https://github.com/ray-project/ray/pull/20641
- Seems the pr https://github.com/ray-project/ray/pull/20670 can solve the windows compiling issue.
2021-11-24 09:01:01 -08:00
Yihong Chen
05a7d1f34e
[serve] Fix autoscaling config is not loaded when calling options() (#20613) 2021-11-24 09:14:28 -06:00
SangBin Cho
cedd8806f7
Revert "[job submission] Use specific redis_address and redis_passwor… (#20699)
The test breaks the master branch
2021-11-24 05:37:15 -08:00
SangBin Cho
e310f6c76f
[Part 1] Improve RayActorDeadError: Refactoring (#20458)
This is the first step to improve `RayActorError` which doesn't provide any information to the user.

In the first step, we re-define ambiguous / confusing APIs and code path. 

1. Change the name of APIs that expose too less information
- MarkPendingTaskFailed -> MarkPendingTaskObjectFailed (API too general compared to what it does)
- PendingTaskFailed  -> FailOrRetryPendingTask (API name doesn't make much sense compared to its behavior).

2. Change the name of arguments that expose too much impl detail
- immediately_mark_object_fail -> mark_task_object_failed (no need to specify "immediately")

3. Move msgpack serialization to a util function instead of embedding it to the task manager function.
2021-11-24 05:11:33 -08:00
Antoni Baum
a8d7897a56
[CI] Modify remote wrapper in XGBoost-Ray client test (#20544)
Instead of wrapping the whole training run in a remote call, we only query the files on the node in a remote call. XGBoost-Ray is then started from the local node.
2021-11-24 10:27:17 +00:00
Kai Fricke
7446269ac9
[tune/rllib] Fix tune cloud tests for function and rllib trainables (#20536)
Fixes some race conditions and softens some constraints around checkpoint numbers.
2021-11-24 09:29:12 +00:00
SangBin Cho
414737b7c7
[Core] Raise an exception on Ray version mismatch (#20179)
Add unit tests that verify Ray version mismatches
2021-11-23 21:25:58 -08:00
Edward Oakes
66b4939184
[job submission] Use specific redis_address and redis_password instead of "auto" (#20687) 2021-11-23 23:25:36 -06:00
SangBin Cho
ca092fd032
[Nightly test] Fix broken pg long running test master (#20674)
* Fixed.

* Fix trial
2021-11-23 21:24:00 -08:00
Alex Wu
b616aecd89
[ci][windows] Skip test_worker_capping.py::test_zero_cpu_scheduling (#20605)
1 second doesn't seem to be a long enough timeout for test_worker_capping.py::test_zero_cpu_scheduling on windows.
2021-11-23 20:21:08 -08:00
Eric Liang
163620ba94
[data] Make block splitting feature flagged off by default (#20660)
block splitting and makes it off by default. This makes it easier to debug problems potentially related to this feature. Criteria for enabling by default:
- We're confident all nightly tests pass (currently, there may be an issue with large-scale groupby with block splitting).
- We're confident lineage-based reconstruction can work with block splitting.
2021-11-23 19:46:18 -08:00
iasoon
186c16c50e
[serve] Don't create placement group for deployment with no resources (#20471) 2021-11-23 21:27:43 -06:00
Matti Picus
08655ab812
[Windows] only report metric reporting failure once (#20426) 2021-11-23 17:35:58 -08:00
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