Commit graph

10642 commits

Author SHA1 Message Date
Yi Cheng
442b1025cd
[1/gcs-mem-kv] Memory mode for internal kv (#20881)
This is part work of redis removal. In this PR we introduced a new mode for internal kv, memory mode.
There are two ways to address this:
- Update store client and use store client in internal kv
- Add memory table into internal kv directly.

The former one actually is a better choice since it put everything related to storage into a lowerlevel. But it's pretty hard to do this now, since internal kv use hset/hget and redis store client use set/get, so the data will not be compatible and it'll be a brake change.

So the easier way to do this is 2) and it's what this PR doing.

Next: use the flag for store client
2021-12-08 10:40:35 -08:00
architkulkarni
78cd377775
[Serve] Bump test_cluster from small to medium (#20942) 2021-12-08 09:58:27 -08:00
Jiajun Yao
5b168a1515
[Scheduler] Support per task/actor PlacementGroupSchedulingStrategy (#20507)
This PR adds per task/actor scheduling strategy and currently the only strategy are PlacementGroupSchedulingStrategy and DefaultSchedulingStrategy.

Going forward, people should use `scheduling_strategy=PlacementGroupSchedulingStrategy` to define placement group for actor/task. The old way will be deprecated.
2021-12-07 23:11:31 -08:00
Lixin Wei
96dc10a95a
[Core] Fix Crash in ObjectDirectory (#20540)
Here we met a crash in line 446's RAY_CHECK

d26c9e67e8/src/ray/object_manager/ownership_based_object_directory.cc (L441-L450)


And we found out that it's because we didn't set the node_id for dead nodes. If there are dead nodes and we are trying to LookupRemoteConnectionInfo in it. This crash will happen.

This PR fixes this crash.
2021-12-07 23:03:49 -08:00
Stephanie Wang
1b9c03adb3
[core] Remove spammy code in object directory client (#20838)
* log

* remove

* fix

* fix

* x

* x
2021-12-07 19:51:44 -08:00
Jiajun Yao
6a07f03a6a
[Test] Fix flaky test_failure_2.py (#20949)
There is a race condition between `DestoryActor` (due to handle out of scope) and `CreateActor`. If `DestoryActor` happens first, then `CreateActor` will fail complaining about not being able to find the registered actor.
2021-12-07 19:44:16 -08:00
Flamur Gogolli
3ca10ccc47
Textual correction on TLS Authentication (#20935)
Correct wording on the TLS Authentication section of the configure.rst page.
2021-12-07 19:05:16 -08:00
Hankpipi
67518bdc50
[serve] Reconfiguration bug fix (#20315)
As described in #18884, reconfiguration will mutate state mid-query. I try to solve this problem by adding read/write lock to each replica.

Co-authored-by: yuzihao.2001 <yuzihao.2001@bytedance.com>
2021-12-07 18:53:45 -08:00
Jiajun Yao
2208cf7672
[Ray Client] Pickle task options for ray client (#20930)
We can just pickle task options instead of json so that we don't need to write custom `to_dict` and `from_dict` methods for complex python option objects (e.g. PlacementGroup).
2021-12-07 17:07:19 -08:00
Dmitri Gekhtman
94883f61b1
[autoscaler] Event summarizer reports launch failure (#20814)
Partly addresses #20774 by registering node launcher failures in driver logs, via the event summarizer.
This way, users can tell that the launch failed from the driver logs.

Also pushes the node creation exception to driver logs, but only once per 60 minutes.
2021-12-07 16:23:45 -08:00
Yi Cheng
ea1d081aac
[core] Simple chaos testing for asio (#19970)
Right now in ray, a lot of edge cases related to grpc are not tested. This PR is just a simple try to give the developer some way to delay grpc request. It could be used with manual testing and also e2e test since it's supporting delay for specific grpc method.

To use this feature, just simple set os env `RAY_TESTING_ASIO_DELAY_US="method1=10:20,method2=20:30,*=200:200"`

This means, for `method1` it'll delay 10-20us, for method2 it'll delay 20-30us. For all the rest, it'll delay 200us.
2021-12-07 14:47:07 -08:00
mwtian
dd3a4aa63e
[Core] upgrade grpc and boringssl (#20919)
Upgrade these dependencies to their respective latest stable versions. The latest version of GRPC C++ API has marked the callback API stable.
2021-12-07 14:35:46 -08:00
architkulkarni
cd12814975
[Serve] [doc] Fix broken serve metrics doc snippet (#20925)
Was failing with `TypeError: f() missing 1 required positional argument: 'request'
`
2021-12-07 14:02:47 -08:00
Clark Zinzow
336882e32c
[Datasets] Fix boolean tensor column slicing. (#20905)
Arrow byte-packs boolean arrays, with 8 entries per byte, and both Arrow and NumPy utilize bit-based offsets for indexing into data buffers. This PR adds support for properly indexing into boolean tensor columns by using bit-based offsets for such columns.
2021-12-07 12:47:43 -08:00
liuyang-my
f3ef6a221f
[Serve]Change Java LongPollClient's polling thread to singleton. (#20756)
Now the Java LongPollClient's is not singleton, and a new polling thread will be created within a new LongPollClient for per RayServeHandle. It will degrade the performance of Replica Actor. So we change the LongPollClient's polling thread to singleton.
2021-12-07 11:14:00 -08:00
xwjiang2010
011ae389a6
[tune] minor clean up of executor.restore(). (#20916)
Removes two unneeded parameters that were not used anymore
2021-12-07 16:37:48 +00:00
Ishant Mrinal
2868d1a2cf
[RLlib] Support for RE3 exploration algorithm (for tf) (#19551) 2021-12-07 13:26:34 +01:00
Chen Shen
aca954e8dd
[dataset][cuj2] add another single node ingestion example (#20754)
* add runner

* fix bugs

* add configs

* add time
2021-12-07 02:50:17 -08:00
architkulkarni
15391026c1
add bazel build OOM tip to docs (#20833) 2021-12-06 21:34:27 -08:00
Eric Liang
5d5ca8fed4
[dataset] Reduce memory usage during .to_pandas() (#20921)
We shouldn't ray.get() all the blocks immediately during the to_pandas call, it's better to do it one by one. That's a little slower but to_pandas() isn't expected to be fast anyways.
2021-12-06 18:17:16 -08:00
Balaji Veeramani
17b6130f9f
[Train] Clarify Session.get_next docstring (#20877)
This PR addresses two issues an issue with the Session.get_next docstring:

It's unclear whether the tense should be imperative or non-imperative. The Ray documentation states that we use Google style (which is non-imperative), but we are formatting using PEP8 (which is imperative). Moreover, we use both imperative and non-imperative summaries across the Ray Train code. I've stuck with a non-imperative summary for consistency with the rest of the Session class.
The docstring doesn't describe the conditions under which the function returns None.
2021-12-06 17:26:25 -08:00
Dmitri Gekhtman
10ed6765c7
[Autoscaler] Add autoscaler update time prometheus metric. (#20831)
It's useful when measuring autoscaler performance to know how long the autoscaler takes for update iterations.
This PR adds a prometheus metric for that. 

The bucket ticks for the histogram are arranged in powers of ten: 
[.001, .01, .1, 1, 10, 100, 1000]. Depending on the situation, we've seen the update time range from .1 second to a few minutes.
2021-12-06 11:55:07 -08:00
shrekris-anyscale
2d58664f98
Add Pydantic validation to Serve AutoscalingConfig class (#20779) 2021-12-06 11:51:02 -08:00
Chen Shen
b9a418352b
[Core][Refactor CoreWorker 3/n] split static function from CoreWorkerProcess (#19678)
Separate the CoreWorkerProcess static functions from CoreWorkerProcess state; Currently the static and non-static state are mixed together, and more importantly the static state is not thread safe. By separating them and create helper class for non-static state CoreWorkerProcessImpl, we can make it thread safe.

in follow up PR we will make CoreWorkerProcess state thread safe.

This PR depends on #19677, The follow up PR is #19679
2021-12-06 11:12:21 -08:00
Jiao
e065f2e30a
[Jobs] Update CLI examples to use the same setup (#20844) 2021-12-06 12:15:17 -06:00
architkulkarni
c024d984e5
[runtime_env] Parse local conda/pip requirements files before sending runtime env to Ray Client Server (#20885) 2021-12-06 12:04:22 -06:00
Chen Shen
a628182cf5
[nighly-test] update cuj2 to reflect latest change #20889
we fixed groupby issue in cuj2; sync the change into nightly test. this test doesn't need to use gpu at all. it returns soon after data ingestion finishes.
2021-12-06 09:59:21 -08:00
Avnish Narayan
b8c64480d8
[RLlib] Change return type of try_reset to MultiEnvDict (#20868) 2021-12-06 14:15:33 +01:00
Kai Fricke
b3a9d4d87d
[ci/release] Remove quotation marks from pip installs (#20638)
Quotation marks were needed in Anyscale app configs to avoid install errors when # were used e.g. in URLs.
Since this has been fixed on the Anyscale side, we can get rid of these.
2021-12-05 17:57:08 -08:00
Siyuan (Ryans) Zhuang
3285bb6b9f
[train] Fix assertion in test (#20893) 2021-12-05 17:47:43 -08:00
Sven Mika
b4790900f5
[RLlib] Sub-class Trainer (instead of build_trainer()): All remaining classes; soft-deprecate build_trainer. (#20725) 2021-12-04 22:05:26 +01:00
Sven Mika
60b2219d72
[RLlib] Allow for evaluation to run by timesteps (alternative to episodes) and add auto-setting to make sure train doesn't ever have to wait for eval (e.g. long episodes) to finish. (#20757) 2021-12-04 13:26:33 +01:00
Kai Fricke
d4413299c0
Revert "[Core] Support back pressure for actor tasks (#19936)" (#20880)
This reverts commit a4495941c2.
2021-12-03 17:48:47 -08:00
Jiao
1e67bdfcec
[jobs] Add headers field to JobSubmissionClient and apply to all requests (#20663) 2021-12-03 18:44:30 -06:00
architkulkarni
ac911d6b51
[runtime_env] Change error log to debug log (#20875) 2021-12-03 18:21:43 -06:00
xwjiang2010
b0c56c8f9b
[tune] Fix testResourceScheduler and testMultiStepRun. (#20872)
This commit fixes flaky tests by relaxing strictly deterministic trial runner behavior constraints.
2021-12-03 16:07:52 -08:00
Amog Kamsetty
611bfc1352
[ML] Move find_free_port to ml_utils (#20828)
Small refactoring of common utility used by Train, Tune, and Rllib.
2021-12-03 13:38:42 -08:00
runedog48
c432815b10
Fix argument typo in post_mortem method (#20871) 2021-12-03 10:27:12 -08:00
xwjiang2010
368da1742b
[tune] Enforce one future at a time for any given trial at any given time. (#20783)
Also enforce disabling (instead of allowing user to override this) buffer training when checkpoint_at_end is used.
2021-12-03 08:14:12 -08:00
xwjiang2010
205d1e9d1f
remove on_pause/on_unpause (#20822) 2021-12-03 08:13:17 -08:00
DK.Pino
4ef0d4a37a
[Java] [Placement Group] Make class PlacementGroupImpl serializable (#20759) 2021-12-03 13:06:17 +08:00
Matti Picus
442943572b
DOC, BUILD: limit bazel resource usage with BAZEL_LIMIT_CPUS and document it (#20845)
So I have a AMD machine with many cores and 32GB of memory. When I do `pip install -e .`, my machine crashes since bazel tries to use all the cores, but quickly runs out of memory. It seems there is no native way to set environment variables to tell bazel to limit its resource consumption, but there is a `--local_cpu_resources` command-line option.

This PR exposes that to the `pip install` via an environment variable. I also went through the setup.py and documented all the environment variables I could find.
2021-12-02 16:39:36 -08:00
mwtian
c01fa39d84
[Cleanup] delete remaining protos related to ObjectLocation in GCS (#20823)
Object metadata are fully managed by workers now, so the related protos and logic in GCS are obsolete. Most of the logic has been removed in https://github.com/ray-project/ray/pull/19963. This PR removes some remaining obsolete protos.
2021-12-02 15:24:43 -08:00
WanXing Wang
a4495941c2
[Core] Support back pressure for actor tasks (#19936)
Support back pressure in core worker.
Job config added for python worker and java worker.
2021-12-02 14:41:30 -08:00
xwjiang2010
e8ce1edfdc
[tune] move on_no_available_trials to a subclass under runner (#20809)
Separates out warning logic to a different submodule.
2021-12-02 12:54:45 -08:00
Kai Fricke
6b683ec8dc
[ci] Retry release tests on infra error (#20478)
This PR introduces proper exit codes for release tests. These are used to restart a certain set of infrastructure related failures automatically.
2021-12-02 10:34:40 -08:00
architkulkarni
725480ad7e
Revert "[runtime_env] Allow working_dir and py_module to be Path type (#20810)" (#20852)
This reverts commit fb3d57fb71.
2021-12-02 10:17:16 -08:00
Sven Mika
0de41e4a6b
[RLlib] Trainer sub-class QMIX/MAML/MB-MPO (instead of build_trainer). (#20639) 2021-12-02 13:17:10 +01:00
Jun Gong
2317c693cf
[RLlib] Use SampleBrach instead of input dict whenever possible (#20746) 2021-12-02 13:11:26 +01:00
Jun Gong
65bd8e29f8
[RLlib] Update a few things to get rid of the remote_vector_env deprecation warning. (#20753) 2021-12-02 13:10:44 +01:00