[xray] Implement task lease table, logic for deciding when to reconstruct a task (#2497)

This commit is contained in:
Stephanie Wang
2018-07-30 14:42:28 -07:00
committed by Robert Nishihara
parent 38d00986a5
commit a45f9cfafc
19 changed files with 945 additions and 99 deletions
+11
View File
@@ -18,6 +18,10 @@ class RayConfig {
int64_t num_heartbeats_timeout() const { return num_heartbeats_timeout_; }
int64_t initial_reconstruction_timeout_milliseconds() const {
return initial_reconstruction_timeout_milliseconds_;
}
int64_t get_timeout_milliseconds() const { return get_timeout_milliseconds_; }
uint64_t max_lineage_size() const { return max_lineage_size_; }
@@ -111,6 +115,7 @@ class RayConfig {
: ray_protocol_version_(0x0000000000000000),
heartbeat_timeout_milliseconds_(100),
num_heartbeats_timeout_(100),
initial_reconstruction_timeout_milliseconds_(200),
get_timeout_milliseconds_(1000),
worker_get_request_size_(10000),
worker_fetch_request_size_(10000),
@@ -157,6 +162,12 @@ class RayConfig {
/// it as dead to the db_client table.
int64_t num_heartbeats_timeout_;
/// The initial period for a task execution lease. The lease will expire this
/// many milliseconds after the first acquisition of the lease. Nodes that
/// require an object will not try to reconstruct the task until at least
/// this many milliseconds.
int64_t initial_reconstruction_timeout_milliseconds_;
/// These are used by the worker to set timeouts and to batch requests when
/// getting objects.
int64_t get_timeout_milliseconds_;