Skip to content

fix(router): backport host-controlled affinity APIs to release/1.6.0 - #16485

Closed
Harrilee wants to merge 1 commit into
release/1.6.0from
harrli/pr306-router-release-backport-1.6.0
Closed

Harrilee wants to merge 1 commit into
release/1.6.0from
harrli/pr306-router-release-backport-1.6.0

Conversation

@Harrilee

Copy link
Copy Markdown
Contributor

Summary

Backport merged #15631 to release/1.6.0 so the release can expose the native routing interfaces required by AISimulate #306. The inspected release branch predates SessionAffinity::with_manual_clock; publishing it unchanged would not provide the API that AISimulate uses.

This is an unmodified cherry-pick -x of 094aaca91941421bb0dcb645b0f700a42d6de3ef, with no new routing design. AISimulate still owns AgentX simulation and calls Dynamo's production policy. Dynamo #15240 remains optional compatibility cleanup.

Details

The backport preserves #15631's host-controlled affinity clock, shared group-key helper, and queue capacity-recheck entry point, together with its original callers/tests. It does not publish packages or change release automation.

AISimulate's release-artifact check currently fails because the required native policy packages are absent from crates.io. The registry dependency closure at 1.6.0 is dynamo-tokens, dynamo-kv-hashing, dynamo-truthy, dynamo-runtime, dynamo-kv-router, and dynamo-custom-policy-builtin; Cargo must resolve optional registry dependencies when packaging too. After this backport is accepted, the matching packages still need the normal Dynamo release/DevOps staging and promotion process. Merging this PR alone does not unblock AISimulate's artifact check.

Validation

  • The four-file patch matches the original feat(router): support host-controlled affinity time #15631 patch exactly and applies without conflicts to release commit 04720e4d.
  • Native affinity tests: 10 passed. Policy queue tests: 24 passed.
  • AISimulate now reuses Dynamo's public NoopSequencePublisher (AISimulate commit 6f0cdd2d43ece4496b1267e7c8095fd1d007df26), avoiding the main-only LocalWorkerLoad callback signature. Its 42 targeted native-router tests pass with the existing main pin.
  • An isolated copy of that AISimulate source passes cargo check --offline --lib --features native-dynamo-router with its actual native dependency graph redirected to this release/backport source. The production Git pin and lockfile were not changed. No additional metrics backport is required.
  • Packages have not been published; hosted CI is not asserted.

Where should the reviewer start?

Compare the patch with #15631, then review lib/kv-router/src/services/selection/affinity.rs and lib/kv-router/src/scheduling/policy_queue.rs against the release branch. Verify that the release source and promoted crate versions contain these APIs together.

Related Issues

Relates to AIC-1817, original #15631, and AISimulate #306.

Signed-off-by: Harry Lee <harrli@nvidia.com>
(cherry picked from commit 094aaca)
Signed-off-by: Harry Lee <harrli@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant