Summary
On the /data page, clicking the "서비스로 배포" (Deploy as service) action on a model-type folder opens VFolderDeployModal, which immediately fails to load. VFolderDeployModalQuery returns no data and the Relay network reports four GraphQL field errors against the running 26.4.4rc2 server schema:
Cannot query field "imageId" on type "PresetExecutionSpec". Did you mean "image"?
Cannot query field "imageId" on type "PresetExecutionSpec". Did you mean "image"?
Cannot query field "slotName" on type "AllocatedResourceSlotConnection".
Cannot query field "quantity" on type "AllocatedResourceSlotConnection".
The modal cannot render anything useful; deploy-as-service from a vfolder is unusable on this server.
Steps to reproduce
- Open the
/data page on the test server.
- Pick a model-type vfolder (e.g., the
model row in the screenshot).
- Click the "서비스로 배포" icon button next to the folder name.
- Observe the browser console — Relay reports the errors above and the modal fails to load.
Expected
VFolderDeployModalQuery succeeds, the modal renders, and the user can configure and submit a deployment.
Actual
The query fails with the four field errors quoted above. The modal cannot recover.
Root cause (frontend-side)
Two field mismatches between the WebUIs shipped queries and the 26.4.4rc2 server schema:
PresetExecutionSpec.imageId → image
The frontend queries execution { imageId, startupCommand } in:
react/src/components/VFolderDeployModal.tsx:141 (fragment)
react/src/components/VFolderDeployModal.tsx:494-495 (read-side: selectedPreset?.execution?.imageId)
Note: the local data/schema.graphql still defines imageId: UUID on PresetExecutionSpec (line 12029), so this is also a schema-sync gap — the bundled schema is out of date relative to the running server.
AllocatedResourceSlotConnection.slotName / .quantity
The frontend queries resourceSlots { slotName, quantity } directly on the connection in react/src/components/DeploymentPresetDetailContent.tsx:78-81. On the running server resourceSlots is now a Connection type, so the query must traverse edges { node { slotName quantity } } (or whatever the new node type exposes).
This fragment is included from VFolderDeployModal via ...DeploymentPresetDetailContentFragment, so the deploy-modal flow is what surfaces the failure even though the offending fields live in the detail-content fragment.
Suggested fix
- Re-pull the latest server schema into
data/schema.graphql (and data/client-directives.graphql if applicable) against 26.4.x.
- Update
VFolderDeployModal.tsx to use the new execution.image field shape (rename usages on lines 141, 494, 495 — and verify what image actually returns; if it now returns an object instead of a UUID string, adjust the consumer accordingly).
- Update
DeploymentPresetDetailContent.tsx to traverse resourceSlots { edges { node { slotName quantity } } } (confirm the node type from the refreshed schema), and update the array-mapping code at lines 79, 165-167 to flatten edges.
- Run
pnpm run relay and bash scripts/verify.sh to confirm.
- Verify the same fragment is not used elsewhere (e.g.,
AdminDeploymentPresetSettingPageContent.tsx, AdminDeploymentPresetNodes.tsx) — those files also reference slotName and may need the same edges/node migration.
Environment
- Test server:
10.122.10.97, core 26.4.4rc2
- Release train: FR-2811 (26.5.0)
Impact
Deploy-as-service from /data is completely broken on 26.4.x. Any user trying to launch an inference deployment from a stored model folder hits this error.
JIRA Issue: FR-2816
Summary
On the
/datapage, clicking the "서비스로 배포" (Deploy as service) action on a model-type folder opensVFolderDeployModal, which immediately fails to load.VFolderDeployModalQueryreturns no data and the Relay network reports four GraphQL field errors against the running 26.4.4rc2 server schema:The modal cannot render anything useful; deploy-as-service from a vfolder is unusable on this server.
Steps to reproduce
/datapage on the test server.modelrow in the screenshot).Expected
VFolderDeployModalQuerysucceeds, the modal renders, and the user can configure and submit a deployment.Actual
The query fails with the four field errors quoted above. The modal cannot recover.
Root cause (frontend-side)
Two field mismatches between the WebUIs shipped queries and the 26.4.4rc2 server schema:
PresetExecutionSpec.imageId→imageThe frontend queries
execution { imageId, startupCommand} in:react/src/components/VFolderDeployModal.tsx:141(fragment)react/src/components/VFolderDeployModal.tsx:494-495(read-side:selectedPreset?.execution?.imageId)Note: the local
data/schema.graphqlstill definesimageId: UUIDonPresetExecutionSpec(line 12029), so this is also a schema-sync gap — the bundled schema is out of date relative to the running server.AllocatedResourceSlotConnection.slotName/.quantityThe frontend queries
resourceSlots { slotName, quantity} directly on the connection inreact/src/components/DeploymentPresetDetailContent.tsx:78-81. On the running serverresourceSlotsis now a Connection type, so the query must traverseedges { node { slotName quantity }} (or whatever the new node type exposes).This fragment is included from
VFolderDeployModalvia...DeploymentPresetDetailContentFragment, so the deploy-modal flow is what surfaces the failure even though the offending fields live in the detail-content fragment.Suggested fix
data/schema.graphql(anddata/client-directives.graphqlif applicable) against 26.4.x.VFolderDeployModal.tsxto use the newexecution.imagefield shape (rename usages on lines 141, 494, 495 — and verify whatimageactually returns; if it now returns an object instead of a UUID string, adjust the consumer accordingly).DeploymentPresetDetailContent.tsxto traverseresourceSlots { edges { node { slotName quantity } }} (confirm the node type from the refreshed schema), and update the array-mapping code at lines 79, 165-167 to flattenedges.pnpm run relayandbash scripts/verify.shto confirm.AdminDeploymentPresetSettingPageContent.tsx,AdminDeploymentPresetNodes.tsx) — those files also referenceslotNameand may need the same edges/node migration.Environment
10.122.10.97, core26.4.4rc2Impact
Deploy-as-service from
/datais completely broken on 26.4.x. Any user trying to launch an inference deployment from a stored model folder hits this error.JIRA Issue: FR-2816