Remove ci_register_job_phase_timeouts feature flag

What does this MR do and why?

Removes ci_register_job_phase_timeouts, keeping its enabled behavior. The shared job-request helper passes the request deadline directly to Ci::RegisterJobService, allowing pre-assignment checks and response rendering to time out before Rack::Timeout interrupts the request.

Removes the flag definition, flag-only helper, and disabled-path spec. Existing timeout and no-timeout coverage is preserved.

On September 2, @hfyngvason reported that the rollout was working as expected and endpoint error rates had improved. On September 4, they noted that dead connections were unaffected and requested flag removal.

References

Closes #616466 (closed)

Implementation: !250498 (merged)

Screenshots or screen recordings

Not applicable: no UI changes.

How to set up and validate locally

  1. Run the focused timeout specs:

    bundle exec rspec spec/requests/api/ci/runner/jobs_request_post_spec.rb:1439 spec/services/ci/register_job_service_spec.rb:1047

    Passed: 10 examples, 0 failures. These ran in the initial combined invocation; location filtering excluded the Job Router specs.

  2. Run the Job Router specs separately:

    bundle exec rspec spec/requests/api/internal/ci/job_router_spec.rb

    Passed: 13 examples, 0 failures.

  3. Run RuboCop:

    bundle exec rubocop lib/api/ci/helpers/job_request.rb spec/requests/api/ci/runner/jobs_request_post_spec.rb

    Passed: 2 files inspected, no offenses.

MR acceptance checklist

Evaluated against the MR acceptance checklist.

  • Code review: no findings.
  • Focused timeout and Job Router specs passed.
  • RuboCop passed; git diff --check clean.
  • Changelog: fixed included, describing CI job assignment phase timeouts.
  • Documentation is unnecessary for this internal de-risk flag removal.

Merge request reports

Loading
Loading