Skip to content

Exclude name from the ExecutableSpec field copy - #72

Open
evanjpw wants to merge 1 commit into
google-deepmind:mainfrom
evanjpw:evan/upstream-executable-name
Open

Exclude name from the ExecutableSpec field copy#72
evanjpw wants to merge 1 commit into
google-deepmind:mainfrom
evanjpw:evan/upstream-executable-name

Conversation

@evanjpw

@evanjpw evanjpw commented Aug 19, 2026

Copy link
Copy Markdown

_convert_xm_job_to_ess_job fills ExecutableSpec by setting four fields explicitly and copying every remaining field off job.executable by matching field names. ExecutableSpec has a name field and xm.Executable has a name attribute, so an executable's build-target label is copied into ExecutableSpec.name. That label is legal in Bazel and not in the RFC 1123 DNS label the server requires, so every work unit submitted through xm_cloud is rejected:

work_unit.executable.jobset.jobs.spec.name must be a valid DNS label

The sibling loop for KubernetesJob already lists name among its explicit fields for the same reason, so this makes the two consistent.

Reproduced against XMC 0.3.0 with a Bazel-packaged executable, where the generated name contains underscores.

The loop that fills ExecutableSpec copies across every field it does not set
explicitly, and name is one of them. An executable's name comes from its build
target, so it carries characters that are legal in a target label but not in the
RFC 1123 DNS label the server requires, and every work unit is rejected:

  work_unit.executable.jobset.jobs.spec.name must be a valid DNS label

The sibling loop for KubernetesJob already lists name among its explicit fields
for the same reason.
@google-cla

google-cla Bot commented Aug 19, 2026

Copy link
Copy Markdown

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@evanjpw
evanjpw force-pushed the evan/upstream-executable-name branch from a02d68f to 2ba119c Compare August 19, 2026 12:06
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.

1 participant