ray-project / ray-project/ray

[Core] Timeline for supporting Boost >= 1.87?

Open
#65,232 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

community-backlog core tech-debt
Dominant language
Python
Stars
43.9k
Forks
8.1k
PR merge metrics
PR metrics pending

Description

Description

Ray pins Boost 1.81.0 (December 2022), via com_github_nelhage_rules_boost @ 57c9939 in bazel/ray_deps_setup.bzl. Boost 1.87.0 (2024-12-12) removed Asio's deprecated compatibility surface, and the current release is 1.91.0 (2026-04-22).

Ray master still uses boost::asio::io_service, resolver::query, resolver::iterator and basic_waitable_timer::expires_from_now — in src/ray/raylet/worker_pool.h, src/ray/util/network_util.cc, src/ray/gcs/store_client/redis_context.cc and src/ray/object_manager/plasma/get_request_queue.cc — so the tree does not compile against any Boost >= 1.87. (#51866 removed most io_service usage; that is what remains. #50039 was closed as stale.)

  1. Is a Boost upgrade on the roadmap — which version, and roughly when?
  2. If it is not scheduled, would you take a PR porting those call sites to the modern spellings first? It is a no-op against the vendored 1.81 and makes the tree 1.87+-clean whenever the pin does move.
Use case

We build every dependency from source into one HPC image against a single Boost (1.91), so we carry local patches to Ray's Asio call sites just to compile it, and would like to drop them.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with bazel/ray_deps_setup.bzl to confirm the pinned Boost version, then inspect the listed Asio call sites in src/ray/raylet/worker_pool.h, src/ray/util/network_util.cc, src/ray/gcs/store_client/redis_context.cc, and src/ray/object_manager/plasma/get_request_queue.cc. Verify the affected code builds with the current pin and with Boost 1.87 or newer; done means the remaining deprecated Asio usages no longer block the upgrade.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
build-system, distributed-systems, networking
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
66/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.