Skip to content

direct: make model_serving_endpoints RemapState a dumb copy (surface ForceSendFields at remote root) - #6812

Draft
denik wants to merge 1 commit into
mainfrom
denik/mse-fsf-root-prep
Draft

denik wants to merge 1 commit into
mainfrom
denik/mse-fsf-root-prep

Conversation

@denik

@denik denik commented Sep 23, 2026

Copy link
Copy Markdown
Contributor

Prep toward replacing hand-written RemapState with the automatic copier.

model_serving_endpoints' RemapState sourced ForceSendFields from the nested EndpointDetails (state.EndpointDetails.ForceSendFields), which the auto-copier — which reads ForceSendFields from the remote root — cannot reproduce. This surfaces the FSF on the ModelServingEndpointRemote root (populated in newModelServingEndpointRemote, filtered to the wrapper's own field names) and reads it there in RemapState, making RemapState a plain subset copy. marshal-based MarshalJSON/UnmarshalJSON are added so the wrapper's extra fields survive the JSON state round-trip (mirrors VectorSearchEndpointRemote).

Caveat worth reviewing: because the wrapper now honors ForceSendFields, the plan remote_state display force-sends the surfaced fields (e.g. empty description/route_optimized, forced nested config). This only affects the per-engine *.direct.* plan goldens (regenerated here); there are no action/diff changes and TestAll/acceptance pass.

This pull request and its description were written by Isaac.

… root

RemapState sourced ForceSendFields from the nested EndpointDetails, which the
auto-copier (root ForceSendFields only) cannot reproduce. Surface it on the
ModelServingEndpointRemote root in newModelServingEndpointRemote (filtered to the
wrapper's own fields) and read it there in RemapState, making RemapState a plain
subset copy. Add marshal-based MarshalJSON/UnmarshalJSON so the wrapper's extra
fields survive the JSON state round-trip (mirrors VectorSearchEndpointRemote).

Side effect: the plan remote_state now force-sends the surfaced fields, so the
per-engine direct plan goldens are regenerated. No action/diff changes.

Co-authored-by: Isaac <[email protected]>
@github-actions github-actions Bot added the DABs DABs related issues label Sep 23, 2026
@eng-dev-ecosystem-bot

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: a532a2a

Run: 35849234245

Env ✅​pass 🙈​skip Time
✅​ aws linux 280 25 5:39
✅​ aws windows 282 23 6:48
✅​ azure linux 279 25 5:49
✅​ azure windows 281 23 7:25
✅​ gcp linux 280 25 5:52
✅​ gcp windows 282 23 4:42
Top 3 slowest tests (at least 2 minutes):
duration env testname
5:53 azure windows TestAccept
5:33 aws windows TestAccept
3:30 gcp windows TestAccept

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

DABs DABs related issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants