Skip to content

[Core] Fix issue #64692 by honoring client_processed_up_to also in the unordered actor task queue. - #67242

Open
Pengkun-ZHU wants to merge 2 commits into
ray-project:masterfrom
Pengkun-ZHU:master
Open

Pengkun-ZHU wants to merge 2 commits into
ray-project:masterfrom
Pengkun-ZHU:master

Conversation

@Pengkun-ZHU

Copy link
Copy Markdown

Description

Main ideas are:

  • Remember the highest watermark received per concurrency group.
  • Carry each request’s RPC sequence number through every async wait and retry queue.
  • Check that sequence number against the latest watermark at the final execution decision.

Related issues

Fixes #64692

Additional information

@Pengkun-ZHU
Pengkun-ZHU requested a review from a team as a code owner October 21, 2026 13:54

@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 introduces a mechanism to reject stale tasks in the UnorderedActorTaskExecutionQueue based on client-processed sequence numbers. It wraps queued tasks in a new SequencedTask struct containing a sequence number, tracks the highest client watermark (client_processed_up_to_) per concurrency group, and cancels tasks that are identified as stale. A unit test has also been added to verify this behavior. I have no feedback to provide.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 4c8bc71. Configure here.

struct SequencedTask {
int64_t seq_no;
TaskToExecute task;
};

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Missing Doxygen on new APIs

Low Severity

⚠️ Document functions and classes with Doxygen /** ... */ block comments using @ tags (@brief, and @param/@return where applicable).

Additional Locations (1)
Fix in Cursor Fix in Web

Triggered by project rule: Bugbot Rules

Reviewed by Cursor Bugbot for commit 4c8bc71. Configure here.

@ray-gardener ray-gardener Bot added core Issues that should be addressed in Ray Core community-contribution Contributed by the community labels Oct 21, 2026
… also in the unordered actor task queue.

Main ideas are:
- Remember the highest watermark received per concurrency group.
- Carry each request’s RPC sequence number through every async wait and retry queue.
- Check that sequence number against the latest watermark at the final execution decision.

Signed-off-by: pzhu <q1091803103@gmail.com>

This branch has not been deployed

No deployments
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Core] Unordered actor executes a stale dependency-waiting request after client_processed_up_to advances

1 participant