Skip to content

[core] Revert async object pubsub posting for Serve throughput#64391

Open
kiwoongyoon wants to merge 1 commit into
ray-project:masterfrom
kiwoongyoon:gitcontribute/20260627-061018-786504-ray-project-ray-issue-64347
Open

[core] Revert async object pubsub posting for Serve throughput#64391
kiwoongyoon wants to merge 1 commit into
ray-project:masterfrom
kiwoongyoon:gitcontribute/20260627-061018-786504-ray-project-ray-issue-64347

Conversation

@kiwoongyoon

Copy link
Copy Markdown

Title: [core] Revert async object pubsub posting for Serve throughput

Summary

This removes the PostingPublisher wrapper from core worker object pubsub publishing and returns object info publishing to direct pubsub::Publisher calls. The change targets the Serve single-replica throughput regression reported after #63983.

The borrowed-reference regression test added by #63983 is preserved; this patch only removes the async posting implementation and its now-unused Bazel target.

Test evidence

  • git diff --check passed.
  • python -m py_compile python/ray/tests/test_reference_counting_standalone.py passed.
  • rg -n "PostingPublisher|posting_publisher" src/ray python/ray found no remaining references.
  • git diff --exit-code -- python/ray/tests/test_reference_counting_standalone.py passed, confirming the correctness regression test remains unchanged.
  • git diff --exit-code ecec4e589a -- src/ray/core_worker/BUILD.bazel src/ray/core_worker/core_worker_process.cc src/ray/pubsub/BUILD.bazel src/ray/pubsub/posting_publisher.h passed, confirming the C++/Bazel portion matches the upstream revert branch.

Risks or notes for maintainers

  • I could not run Bazel C++ targets locally because Bazel/Bazelisk were unavailable in this worktree.
  • I could not run Ray Python runtime tests because import ray failed in the local Python environment.
  • I did not run Serve release microbenchmarks locally; the available performance evidence is the issue author's reverted-master benchmark data.
  • This may trade off the Ray Data scheduler lock-contention improvement that [core] Post all object pubsub publishes to the IO thread to relieve lock contention #63983 was originally intended to provide.

Related issue: #64347

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request removes the PostingPublisher decorator class, its header file, and its associated build targets. The CoreWorkerProcessImpl now instantiates and uses pubsub::Publisher directly instead of wrapping it in a PostingPublisher. There are no review comments, and I have no feedback to provide.

Signed-off-by: kiwoong <rldnddbs@naver.com>
@kiwoongyoon kiwoongyoon force-pushed the gitcontribute/20260627-061018-786504-ray-project-ray-issue-64347 branch from 8776086 to 0316f36 Compare June 27, 2026 08:29
@kiwoongyoon kiwoongyoon marked this pull request as ready for review June 27, 2026 08:50
@kiwoongyoon kiwoongyoon requested a review from a team as a code owner June 27, 2026 08:50
@ray-gardener ray-gardener Bot added serve Ray Serve Related Issue core Issues that should be addressed in Ray Core community-contribution Contributed by the community labels Jun 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

community-contribution Contributed by the community core Issues that should be addressed in Ray Core serve Ray Serve Related Issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant