Conversation
Signed-off-by: irabbani <irabbani@anyscale.com>
Signed-off-by: irabbani <irabbani@anyscale.com>
Signed-off-by: irabbani <irabbani@anyscale.com>
…ub.com:ray-project/ray into irabbani/remove-centralized-actor-scheduling-1
Signed-off-by: irabbani <irabbani@anyscale.com>
…abbani/remove-centralized-actor-scheduling-2
Signed-off-by: irabbani <irabbani@anyscale.com>
Signed-off-by: irabbani <irabbani@anyscale.com>
…from the GCS (#60019) This PR stacks on #60008. This is 3/N in a series of PRs to remove Centralized Actor Scheduling by the GCS (introduced in #15943). The feature is off by default and no longer in use or supported. In this PR, I remove GC requests published globally from the GCS to all Raylets through the RaySyncer. This feature was introduced as part of Centralized Scheduling through GCS in #28663. The implementation used to check to see if there were pending leases for two consecutive intervals (of 10s) each from the ClusterLeaseManager in the GCS. If so, the GCS would trigger GlobalGC. Therefore, with GCS Centralized Scheduling disabled, the GCS would never send GlobalGC requests. It's safe to delete now. I've also moved the Throttler from util to the raylet package and made it's visibility private. --------- Signed-off-by: irabbani <irabbani@anyscale.com>
Signed-off-by: irabbani <irabbani@anyscale.com>
Removes the GCS's dependency on LocalLeaseManager. Moves the LocalLeaseManager into the raylet/scheduling package. The LocalLeaseManager is now private to the raylet. Signed-off-by: irabbani <irabbani@anyscale.com>
Contributor
There was a problem hiding this comment.
Code Review
This pull request is a significant refactoring that removes the GCS Centralized Actor Scheduling feature, which is a great step towards simplifying the codebase and removing unused functionality. The changes are extensive, touching C++, Python, and build files, but they appear to be consistent and correct. The removal of ClusterLeaseManager from GCS and the simplification of GcsActorScheduler are key parts of this change. The related tests have also been cleaned up, and some files have been reorganized for better structure. Overall, this is a solid improvement to the project's maintainability. I've found one minor issue regarding a stale comment that should be addressed.
…aseManager from GCS. (#60008) This PR stacks on #59979. This is 2/N and 3/N (#60019) in a series of PRs to remove Centralized Actor Scheduling by the GCS (introduced in #15943). The feature is off by default and no longer in use or supported. In this PR, 1. I remove use of the ClusterLeaseManager (from the Raylet's scheduler) in the GCS. 2. I remove GC requests published globally from the GCS to all Raylets through the RaySyncer. This feature was introduced as part of Centralized Scheduling through GCS in #28663. 3. I've moded the Throttler from util to the raylet package and made it's visibility private. The GC implementation used to check to see if there were pending leases for two consecutive intervals (of 10s) each from the ClusterLeaseManager in the GCS. If so, the GCS would trigger GlobalGC. Therefore, with GCS Centralized Scheduling disabled, the GCS would never send GlobalGC requests. It's safe to delete now. --------- Signed-off-by: irabbani <irabbani@anyscale.com>
Base automatically changed from
irabbani/remove-centralized-actor-scheduling-2
to
irabbani/remove-centralized-actor-scheduling-1
January 14, 2026 00:17
…ng-1 Signed-off-by: Ibrahim Rabbani <irabbani@anyscale.com>
…abbani/remove-centralized-actor-scheduling-4 Signed-off-by: Ibrahim Rabbani <irabbani@anyscale.com>
…abbani/remove-centralized-actor-scheduling-4
Signed-off-by: irabbani <irabbani@anyscale.com>
…ub.com:ray-project/ray into irabbani/remove-centralized-actor-scheduling-4
Base automatically changed from
irabbani/remove-centralized-actor-scheduling-1
to
master
January 15, 2026 19:39
…ng-4 Signed-off-by: Ibrahim Rabbani <irabbani@anyscale.com>
edoakes
pushed a commit
that referenced
this pull request
Jan 16, 2026
It seems the windows build started breaking in between commits bfa6f0b and 9ce0cd0 due to the compile command for gcs_server_lib being too long. The only PR that went in that would've caused this is #59979 which used local_lease_manager instead of possibly using local_lease_manager_interface in the dependency list. However, #60121 was merged shortly after that removes this dependency entirely. I'm not sure if something else is potentially being drawn in transitively and if that contributes to the compile command used in windows? It does seem like we're on the knife's edge for the windows command line length limit 32768. A better long term fix would be to obviously revist the bazel file for these massives libs and try to prune them down/move them to smaller subtargets with interfaces and so on, but that's probably going to take a while so as a cheat in the bazel guide: https://bazel.build/configure/windows they mention that the flag "compiler_param_file" can bypass this so I added this and hoping it works. --------- Signed-off-by: joshlee <joshlee@anyscale.com>
edoakes
pushed a commit
that referenced
this pull request
Jan 17, 2026
… into a separate module (#60188) This PR stacks on #60121. This is 5/N in a series of PRs to remove Centralized Actor Scheduling by the GCS (introduced in #15943). The feature is off by default and no longer in use or supported. In this PR, - Moving the gcs_actor_* files into a separate bazel module `/ray/gcs/actor/` - Moves the LocalLeaseManager into `/ray/raylet/scheduling` with its friends - Enabling cpplint Pure refactoring. No logic changes. --------- Signed-off-by: irabbani <irabbani@anyscale.com> Signed-off-by: Ibrahim Rabbani <irabbani@anyscale.com> Co-authored-by: Lonnie Liu <95255098+aslonnie@users.noreply.github.com>
limarkdcunha
pushed a commit
to limarkdcunha/ray
that referenced
this pull request
Jan 18, 2026
…roject#60213) It seems the windows build started breaking in between commits bfa6f0b and 9ce0cd0 due to the compile command for gcs_server_lib being too long. The only PR that went in that would've caused this is ray-project#59979 which used local_lease_manager instead of possibly using local_lease_manager_interface in the dependency list. However, ray-project#60121 was merged shortly after that removes this dependency entirely. I'm not sure if something else is potentially being drawn in transitively and if that contributes to the compile command used in windows? It does seem like we're on the knife's edge for the windows command line length limit 32768. A better long term fix would be to obviously revist the bazel file for these massives libs and try to prune them down/move them to smaller subtargets with interfaces and so on, but that's probably going to take a while so as a cheat in the bazel guide: https://bazel.build/configure/windows they mention that the flag "compiler_param_file" can bypass this so I added this and hoping it works. --------- Signed-off-by: joshlee <joshlee@anyscale.com> Signed-off-by: Limark Dcunha <limarkdcunha@gmail.com>
limarkdcunha
pushed a commit
to limarkdcunha/ray
that referenced
this pull request
Jan 18, 2026
… into a separate module (ray-project#60188) This PR stacks on ray-project#60121. This is 5/N in a series of PRs to remove Centralized Actor Scheduling by the GCS (introduced in ray-project#15943). The feature is off by default and no longer in use or supported. In this PR, - Moving the gcs_actor_* files into a separate bazel module `/ray/gcs/actor/` - Moves the LocalLeaseManager into `/ray/raylet/scheduling` with its friends - Enabling cpplint Pure refactoring. No logic changes. --------- Signed-off-by: irabbani <irabbani@anyscale.com> Signed-off-by: Ibrahim Rabbani <irabbani@anyscale.com> Co-authored-by: Lonnie Liu <95255098+aslonnie@users.noreply.github.com> Signed-off-by: Limark Dcunha <limarkdcunha@gmail.com>
jeffery4011
pushed a commit
to jeffery4011/ray
that referenced
this pull request
Jan 20, 2026
…eManager from GCS (ray-project#60121) This PR stacks on ray-project#60019. This is 3/N in a series of PRs to remove Centralized Actor Scheduling by the GCS (introduced in ray-project#15943). The feature is off by default and no longer in use or supported. In this PR, I've removed the GCS's dependency on the LocalLeaseManager. I've also moved LocalLeaseManager to the raylet/scheduling package and made it's visibility private to the package. Also deleted the NoopLocalLeaseManager. The LocalLeaseManager is used by the ClusterLeaseManager to see if a task can scheduled locally by a Raylet. The GCS used only the Noop implementation. --------- Signed-off-by: irabbani <irabbani@anyscale.com> Signed-off-by: Ibrahim Rabbani <irabbani@anyscale.com> Signed-off-by: jeffery4011 <jefferyshen1015@gmail.com>
jinbum-kim
pushed a commit
to jinbum-kim/ray
that referenced
this pull request
Jan 29, 2026
…roject#60213) It seems the windows build started breaking in between commits bfa6f0b and 9ce0cd0 due to the compile command for gcs_server_lib being too long. The only PR that went in that would've caused this is ray-project#59979 which used local_lease_manager instead of possibly using local_lease_manager_interface in the dependency list. However, ray-project#60121 was merged shortly after that removes this dependency entirely. I'm not sure if something else is potentially being drawn in transitively and if that contributes to the compile command used in windows? It does seem like we're on the knife's edge for the windows command line length limit 32768. A better long term fix would be to obviously revist the bazel file for these massives libs and try to prune them down/move them to smaller subtargets with interfaces and so on, but that's probably going to take a while so as a cheat in the bazel guide: https://bazel.build/configure/windows they mention that the flag "compiler_param_file" can bypass this so I added this and hoping it works. --------- Signed-off-by: joshlee <joshlee@anyscale.com> Signed-off-by: jinbum-kim <jinbum9958@gmail.com>
jinbum-kim
pushed a commit
to jinbum-kim/ray
that referenced
this pull request
Jan 29, 2026
… into a separate module (ray-project#60188) This PR stacks on ray-project#60121. This is 5/N in a series of PRs to remove Centralized Actor Scheduling by the GCS (introduced in ray-project#15943). The feature is off by default and no longer in use or supported. In this PR, - Moving the gcs_actor_* files into a separate bazel module `/ray/gcs/actor/` - Moves the LocalLeaseManager into `/ray/raylet/scheduling` with its friends - Enabling cpplint Pure refactoring. No logic changes. --------- Signed-off-by: irabbani <irabbani@anyscale.com> Signed-off-by: Ibrahim Rabbani <irabbani@anyscale.com> Co-authored-by: Lonnie Liu <95255098+aslonnie@users.noreply.github.com> Signed-off-by: jinbum-kim <jinbum9958@gmail.com>
ryanaoleary
pushed a commit
to ryanaoleary/ray
that referenced
this pull request
Feb 3, 2026
…eManager from GCS (ray-project#60121) This PR stacks on ray-project#60019. This is 3/N in a series of PRs to remove Centralized Actor Scheduling by the GCS (introduced in ray-project#15943). The feature is off by default and no longer in use or supported. In this PR, I've removed the GCS's dependency on the LocalLeaseManager. I've also moved LocalLeaseManager to the raylet/scheduling package and made it's visibility private to the package. Also deleted the NoopLocalLeaseManager. The LocalLeaseManager is used by the ClusterLeaseManager to see if a task can scheduled locally by a Raylet. The GCS used only the Noop implementation. --------- Signed-off-by: irabbani <irabbani@anyscale.com> Signed-off-by: Ibrahim Rabbani <irabbani@anyscale.com>
ryanaoleary
pushed a commit
to ryanaoleary/ray
that referenced
this pull request
Feb 3, 2026
…roject#60213) It seems the windows build started breaking in between commits bfa6f0b and 9ce0cd0 due to the compile command for gcs_server_lib being too long. The only PR that went in that would've caused this is ray-project#59979 which used local_lease_manager instead of possibly using local_lease_manager_interface in the dependency list. However, ray-project#60121 was merged shortly after that removes this dependency entirely. I'm not sure if something else is potentially being drawn in transitively and if that contributes to the compile command used in windows? It does seem like we're on the knife's edge for the windows command line length limit 32768. A better long term fix would be to obviously revist the bazel file for these massives libs and try to prune them down/move them to smaller subtargets with interfaces and so on, but that's probably going to take a while so as a cheat in the bazel guide: https://bazel.build/configure/windows they mention that the flag "compiler_param_file" can bypass this so I added this and hoping it works. --------- Signed-off-by: joshlee <joshlee@anyscale.com>
ryanaoleary
pushed a commit
to ryanaoleary/ray
that referenced
this pull request
Feb 3, 2026
… into a separate module (ray-project#60188) This PR stacks on ray-project#60121. This is 5/N in a series of PRs to remove Centralized Actor Scheduling by the GCS (introduced in ray-project#15943). The feature is off by default and no longer in use or supported. In this PR, - Moving the gcs_actor_* files into a separate bazel module `/ray/gcs/actor/` - Moves the LocalLeaseManager into `/ray/raylet/scheduling` with its friends - Enabling cpplint Pure refactoring. No logic changes. --------- Signed-off-by: irabbani <irabbani@anyscale.com> Signed-off-by: Ibrahim Rabbani <irabbani@anyscale.com> Co-authored-by: Lonnie Liu <95255098+aslonnie@users.noreply.github.com>
peterxcli
pushed a commit
to peterxcli/ray
that referenced
this pull request
Feb 25, 2026
…eManager from GCS (ray-project#60121) This PR stacks on ray-project#60019. This is 3/N in a series of PRs to remove Centralized Actor Scheduling by the GCS (introduced in ray-project#15943). The feature is off by default and no longer in use or supported. In this PR, I've removed the GCS's dependency on the LocalLeaseManager. I've also moved LocalLeaseManager to the raylet/scheduling package and made it's visibility private to the package. Also deleted the NoopLocalLeaseManager. The LocalLeaseManager is used by the ClusterLeaseManager to see if a task can scheduled locally by a Raylet. The GCS used only the Noop implementation. --------- Signed-off-by: irabbani <irabbani@anyscale.com> Signed-off-by: Ibrahim Rabbani <irabbani@anyscale.com> Signed-off-by: peterxcli <peterxcli@gmail.com>
peterxcli
pushed a commit
to peterxcli/ray
that referenced
this pull request
Feb 25, 2026
…roject#60213) It seems the windows build started breaking in between commits bfa6f0b and 9ce0cd0 due to the compile command for gcs_server_lib being too long. The only PR that went in that would've caused this is ray-project#59979 which used local_lease_manager instead of possibly using local_lease_manager_interface in the dependency list. However, ray-project#60121 was merged shortly after that removes this dependency entirely. I'm not sure if something else is potentially being drawn in transitively and if that contributes to the compile command used in windows? It does seem like we're on the knife's edge for the windows command line length limit 32768. A better long term fix would be to obviously revist the bazel file for these massives libs and try to prune them down/move them to smaller subtargets with interfaces and so on, but that's probably going to take a while so as a cheat in the bazel guide: https://bazel.build/configure/windows they mention that the flag "compiler_param_file" can bypass this so I added this and hoping it works. --------- Signed-off-by: joshlee <joshlee@anyscale.com> Signed-off-by: peterxcli <peterxcli@gmail.com>
peterxcli
pushed a commit
to peterxcli/ray
that referenced
this pull request
Feb 25, 2026
… into a separate module (ray-project#60188) This PR stacks on ray-project#60121. This is 5/N in a series of PRs to remove Centralized Actor Scheduling by the GCS (introduced in ray-project#15943). The feature is off by default and no longer in use or supported. In this PR, - Moving the gcs_actor_* files into a separate bazel module `/ray/gcs/actor/` - Moves the LocalLeaseManager into `/ray/raylet/scheduling` with its friends - Enabling cpplint Pure refactoring. No logic changes. --------- Signed-off-by: irabbani <irabbani@anyscale.com> Signed-off-by: Ibrahim Rabbani <irabbani@anyscale.com> Co-authored-by: Lonnie Liu <95255098+aslonnie@users.noreply.github.com> Signed-off-by: peterxcli <peterxcli@gmail.com>
peterxcli
pushed a commit
to peterxcli/ray
that referenced
this pull request
Feb 25, 2026
…eManager from GCS (ray-project#60121) This PR stacks on ray-project#60019. This is 3/N in a series of PRs to remove Centralized Actor Scheduling by the GCS (introduced in ray-project#15943). The feature is off by default and no longer in use or supported. In this PR, I've removed the GCS's dependency on the LocalLeaseManager. I've also moved LocalLeaseManager to the raylet/scheduling package and made it's visibility private to the package. Also deleted the NoopLocalLeaseManager. The LocalLeaseManager is used by the ClusterLeaseManager to see if a task can scheduled locally by a Raylet. The GCS used only the Noop implementation. --------- Signed-off-by: irabbani <irabbani@anyscale.com> Signed-off-by: Ibrahim Rabbani <irabbani@anyscale.com> Signed-off-by: peterxcli <peterxcli@gmail.com>
peterxcli
pushed a commit
to peterxcli/ray
that referenced
this pull request
Feb 25, 2026
…roject#60213) It seems the windows build started breaking in between commits bfa6f0b and 9ce0cd0 due to the compile command for gcs_server_lib being too long. The only PR that went in that would've caused this is ray-project#59979 which used local_lease_manager instead of possibly using local_lease_manager_interface in the dependency list. However, ray-project#60121 was merged shortly after that removes this dependency entirely. I'm not sure if something else is potentially being drawn in transitively and if that contributes to the compile command used in windows? It does seem like we're on the knife's edge for the windows command line length limit 32768. A better long term fix would be to obviously revist the bazel file for these massives libs and try to prune them down/move them to smaller subtargets with interfaces and so on, but that's probably going to take a while so as a cheat in the bazel guide: https://bazel.build/configure/windows they mention that the flag "compiler_param_file" can bypass this so I added this and hoping it works. --------- Signed-off-by: joshlee <joshlee@anyscale.com> Signed-off-by: peterxcli <peterxcli@gmail.com>
peterxcli
pushed a commit
to peterxcli/ray
that referenced
this pull request
Feb 25, 2026
… into a separate module (ray-project#60188) This PR stacks on ray-project#60121. This is 5/N in a series of PRs to remove Centralized Actor Scheduling by the GCS (introduced in ray-project#15943). The feature is off by default and no longer in use or supported. In this PR, - Moving the gcs_actor_* files into a separate bazel module `/ray/gcs/actor/` - Moves the LocalLeaseManager into `/ray/raylet/scheduling` with its friends - Enabling cpplint Pure refactoring. No logic changes. --------- Signed-off-by: irabbani <irabbani@anyscale.com> Signed-off-by: Ibrahim Rabbani <irabbani@anyscale.com> Co-authored-by: Lonnie Liu <95255098+aslonnie@users.noreply.github.com> Signed-off-by: peterxcli <peterxcli@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR stacks on #60019.
This is $/N in a series of PRs to remove Centralized Actor Scheduling by the GCS (introduced in #15943). The feature is off by default and no longer in use or supported.
In this PR, I've removed the GCS's dependency on the LocalLeaseManager. I've also moved LocalLeaseManager to the raylet/scheduling package and made it's visibility private to the package. Also deleted the NoopLocalLeaseManager.
The LocalLeaseManager is used by the ClusterLeaseManager to see if a task can scheduled locally by a Raylet. The GCS used only the Noop implementation.