Skip to content

Default ping-mode to ping-only for now#3733

Merged
moskyb merged 1 commit intomainfrom
default-ping-mode-poll
Mar 4, 2026
Merged

Default ping-mode to ping-only for now#3733
moskyb merged 1 commit intomainfrom
default-ping-mode-poll

Conversation

@moskyb
Copy link
Contributor

@moskyb moskyb commented Mar 4, 2026

Description

In #3697, we introduced a new feature to the agent to stream ping messages from the buildkite backend, rather than polling. For long-running agents, this should greatly decrease the amount of time between a job being assigned and the agent picking it up.

In this PR, we added a config item called --ping-mode, which allows users to pick which ping mode they want to use, and defaulted it to auto. When ping-mode is auto, the agent will attempt to use streaming pings, but if they're unavailable, it will fall back to polling.

Unfortunately, because this feature is still under construction on the backend, at the time of writing, all attempts to connect to a ping stream will fail, outputting some error logs into the agent logs:

image

Because of the semantics of --ping-mode auto, the agent immediately falls back to using the ping handler, so there's very little actual impact from this issue. It does look like a problem though, so this PR sets the default --ping-mode to ping-only for now. In a future release, we'll set the default back to auto.

Context

Slack convo

Testing

  • Tests have run locally (with go test ./...). Buildkite employees may check this if the pipeline has run automatically.
  • Code is formatted (with go tool gofumpt -extra -w .)

Disclosures / Credits

n/a

@moskyb moskyb requested review from a team as code owners March 4, 2026 02:52
@moskyb moskyb merged commit 9b1fcd7 into main Mar 4, 2026
2 checks passed
@moskyb moskyb deleted the default-ping-mode-poll branch March 4, 2026 03:07
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