Skip to content

Conversation

@Jeffwan
Copy link
Collaborator

@Jeffwan Jeffwan commented Sep 6, 2025

Pull Request Description

  1. update the default behavior of upgradeOrder
  2. Add integration test into roleset_test.go

follow up PR of #1432

This makes the system much more intuitive and safer - critical components get explicit low order numbers (1,2,3) and upgrade first, while less critical components can be left unspecified and naturally upgrade last.

Behavior:

Before (Confusing):
router(nil=0), prefill(1), decode(2) → [router, prefill, decode]

After (Intuitive):
router(nil=0), prefill(1), decode(2) → [prefill, decode, router]

Related Issues

Resolves: #[Insert issue number(s)]

Important: Before submitting, please complete the description above and review the checklist below.


Contribution Guidelines (Expand for Details)

We appreciate your contribution to aibrix! To ensure a smooth review process and maintain high code quality, please adhere to the following guidelines:

Pull Request Title Format

Your PR title should start with one of these prefixes to indicate the nature of the change:

  • [Bug]: Corrections to existing functionality
  • [CI]: Changes to build process or CI pipeline
  • [Docs]: Updates or additions to documentation
  • [API]: Modifications to aibrix's API or interface
  • [CLI]: Changes or additions to the Command Line Interface
  • [Misc]: For changes not covered above (use sparingly)

Note: For changes spanning multiple categories, use multiple prefixes in order of importance.

Submission Checklist

  • PR title includes appropriate prefix(es)
  • Changes are clearly explained in the PR description
  • New and existing tests pass successfully
  • Code adheres to project style and best practices
  • Documentation updated to reflect changes (if applicable)
  • Thorough testing completed, no regressions introduced

By submitting this PR, you confirm that you've read these guidelines and your changes align with the project's contribution standards.

Copy link
Contributor

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

Choose a reason for hiding this comment

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

Summary of Changes

Hello @Jeffwan, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request refines the upgradeOrder behavior for roles within the orchestration system, making the upgrade sequence more predictable and safer. The primary goal is to ensure that roles without a specified upgrade order are processed last, allowing critical, explicitly ordered components to stabilize first. This change is accompanied by robust testing to guarantee the new logic functions as intended.

Highlights

  • UpgradeOrder Field Behavior Change: The UpgradeOrder field in RoleSpec has been updated. Previously, a nil value defaulted to 0, implying an early upgrade. Now, nil signifies that the role should be upgraded after all roles with explicitly defined UpgradeOrder values. The minimum valid UpgradeOrder value has also been changed from 0 to 1.
  • Improved Upgrade Order Sorting Logic: The internal sorting mechanism for roles during upgrades has been refactored to correctly implement the new UpgradeOrder behavior. Roles with explicit order values are now consistently prioritized over roles where UpgradeOrder is nil.
  • Comprehensive Integration Tests for Upgrade Order: Extensive integration tests have been added to roleset_test.go to validate the new UpgradeOrder behavior. These tests cover scenarios including explicit ordering, roles with the same order, and roles with nil order (ensuring they upgrade last), significantly improving the robustness of the upgrade process.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

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

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 improves the upgradeOrder behavior to be more intuitive, ensuring roles without an explicit order are upgraded last. The changes to the API, sorting logic, and logging are well-implemented. The addition of comprehensive integration tests is a significant improvement to the codebase. I have a few suggestions to enhance code maintainability and strengthen the tests.

@Jeffwan
Copy link
Collaborator Author

Jeffwan commented Sep 6, 2025

/cc @omerap12 I changed the upgradeOrder behavior a little bit, please take a look. /cc @googs1025

@Jeffwan Jeffwan force-pushed the jiaxin/test-for-upgrade-order branch from bc0a870 to e6f6ff3 Compare September 6, 2025 07:03
Copy link
Contributor

@omerap12 omerap12 left a comment

Choose a reason for hiding this comment

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

/lgtm

@omerap12
Copy link
Contributor

omerap12 commented Sep 6, 2025

Since we didn't make a release with #1432 I guess we don't need to have a migration path for roles with order=0 right?

@Jeffwan
Copy link
Collaborator Author

Jeffwan commented Sep 6, 2025

@omerap12 yes. that's true. The main branch is subject to change, so migration plans are only necessary once the change is part of a tagged release.

@omerap12
Copy link
Contributor

omerap12 commented Sep 6, 2025

@omerap12 yes. that's true. The main branch is subject to change, so migration plans are only necessary once the change is part of a tagged release.

Yeah, just wanted to make sure. Sounds good.

@Jeffwan Jeffwan force-pushed the jiaxin/test-for-upgrade-order branch from e6f6ff3 to aa8daf7 Compare September 6, 2025 14:12
@Jeffwan Jeffwan merged commit 922477a into vllm-project:main Sep 6, 2025
11 checks passed
@Jeffwan Jeffwan deleted the jiaxin/test-for-upgrade-order branch September 6, 2025 14:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants