-
Notifications
You must be signed in to change notification settings - Fork 6.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[xray] Lineage cache only requests notifications about remote parent tasks #2066
[xray] Lineage cache only requests notifications about remote parent tasks #2066
Conversation
Test PASSed. |
src/ray/raylet/lineage_cache.cc
Outdated
if (parent->GetStatus() == GcsStatus_UNCOMMITTED_REMOTE) { | ||
auto inserted = subscribed_tasks_.insert(parent_id); | ||
if (inserted.second) { | ||
// Only request notificataions about the parent entry if we haven't |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
typo in notifications
Test PASSed. |
Test PASSed. |
* master: (22 commits) [xray] Fix bug in updating actor execution dependencies (ray-project#2064) [DataFrame] Refactor __delitem__ (ray-project#2080) [xray] Better error messaging when pulling from self. (ray-project#2068) Use source code in hash where possible (fix ray-project#2089) (ray-project#2090) Functions for flushing done tasks and evicted objects. (ray-project#2033) Fix compilation error for RAY_USE_NEW_GCS with latest clang. (ray-project#2086) [xray] Corrects Error Handling During Push and Pull. (ray-project#2059) [xray] Sophisticated task dependency management (ray-project#2035) Support calling positional arguments by keyword (fix ray-project#998) (ray-project#2081) [DataFrame] Improve performance of iteration methods (ray-project#2026) [DataFrame] Implement to_csv (ray-project#2014) [xray] Lineage cache only requests notifications about remote parent tasks (ray-project#2066) [rllib] Add magic methods for rollouts (ray-project#2024) [DataFrame] Allows DataFrame constructor to take in another DataFrame (ray-project#2072) Pin Pandas version for Travis to 0.22 (ray-project#2075) Fix python linting (ray-project#2076) [xray] Fix GCS table prefixes (ray-project#2065) Some tests for _submit API. (ray-project#2062) [rllib] Queue lib for python 2.7 (ray-project#2057) [autoscaler] Remove faulty assert that breaks during downscaling, pull configs from env (ray-project#2006) ...
What do these changes do?
The lineage cache is responsible for flushing tasks to the GCS. It does so according to data dependencies, so that a task is only flushed to the GCS if all tasks that it's dependent on (its "parents") have been committed. However, if a parent task is owned by a remote node, then the lineage cache requests a commit notification for the parent task. This PR fixes a bug where the lineage cache requested commit notifications for all parent tasks, not just remote ones.