Skip to content

Backport of allocs rpc: fix client panic on nil allocs into release/2.0.x#28188

Merged
gulducat merged 1 commit into
release/2.0.xfrom
backport/fix-nil-alloc-panic/eagerly-touching-cod
Jun 26, 2026
Merged

Backport of allocs rpc: fix client panic on nil allocs into release/2.0.x#28188
gulducat merged 1 commit into
release/2.0.xfrom
backport/fix-nil-alloc-panic/eagerly-touching-cod

Conversation

@hc-github-team-nomad-core

Copy link
Copy Markdown
Contributor

Backport

This PR is auto-generated from #28187 to be assessed for backporting due to the inclusion of the label backport/2.0.x.

The below text is copied from the body of the original PR.


Description

A client can panic on a nil alloc sent by the server if the alloc gets GC'd at an innoportune moment, namely between two distinct RPC calls in the same loop.

The server should never return a nil alloc. Instead, return a partial slice that is shorter than the number of allocs requested.

Fixes: #28172

Note: At this time, the client does not make use of the partial list; it simply discards the results and retries in a couple seconds (client/client.go line 2683). Potential client optimizations may be revisited as a follow-up.

Testing

Server-side unit tests ensures no nil allocs in the response. I'll explore Client-side tests, but it'll take some extra doing to set up mocks for the RPC calls.

Contributor Checklist

  • Changelog Entry If this PR changes user-facing behavior, please generate and add a
    changelog entry using the make cl command.
  • Testing Please add tests to cover any new functionality or to demonstrate bug fixes and
    ensure regressions will be caught.
  • Documentation If the change impacts user-facing functionality such as the CLI, API, UI,
    and job configuration, please update the Nomad product documentation, which is stored in the
    web-unified-docs repo. Refer to the web-unified-docs contributor guide for docs guidelines.
    Please also consider whether the change requires notes within the upgrade
    guide
    . If you would like help with the docs, tag the nomad-docs team in this PR.
  • LLM Usage If an LLM was used to generate any code, please ensure and confirm you have read
    and followed the AI usage guide.

Reviewer Checklist

  • Backport Labels Please add the correct backport labels as described by the internal
    backporting document.
  • Commit Type Ensure the correct merge method is selected which should be "squash and merge"
    in the majority of situations. The main exceptions are long-lived feature branches or merges where
    history should be preserved.
  • Enterprise PRs If this is an enterprise only PR, please add any required changelog entry
    within the public repository.
  • If a change needs to be reverted, we will roll out an update to the code within 7 days.

Changes to Security Controls

Are there any changes to security controls (access controls, encryption, logging) in this pull request? If so, explain.


Overview of commits

@gulducat gulducat merged commit 9db5483 into release/2.0.x Jun 26, 2026
31 checks passed
@gulducat gulducat deleted the backport/fix-nil-alloc-panic/eagerly-touching-cod branch June 26, 2026 21:43
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