You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit e9228ed
Browse filesBrowse the repository at this point in the historyBrowse files
feat(orchestrator): Freeze queue processing while FreezeProcessing is set (#865)
## Why?
A paused queue needs to stop advancing accepted requests without a
redeploy. The consumer gate already lets a controller be stopped and
started at runtime, so freezing a queue is a gate that reads the queue's
pause state.
## What?
- A gate that wraps the orchestrator's existing consumer gate. While
`FreezeProcessing` is set for a delivery's queue (its tenant), the gate
is closed for every stage, including the dead-letter consumers. Blocked
deliveries are postponed without spending retry budget, and released
within a re-check delay of the flag being cleared. Otherwise the wrapped
gate decides, so `CONSUMER_GATE_DIR` keeps working.
- A failed pause read also closes the gate.
- The orchestrator reads `QUEUE_PAUSE_CONFIG_PATH`. The store selection
moves into a shared `queuepausestore` package that the gateway now uses
too.
## Test Plan
`bazel test //service/submitqueue/queuepausestore/...
//service/submitqueue/orchestrator/server`
CI
End to End tests in next PR
## Issue
|`QUEUE_PAUSE_CONFIG_PATH`|Gateway| no | YAML file of per-queue pause switches, re-read on every land | pausing disabled when unset |
24
+
|`QUEUE_PAUSE_CONFIG_PATH`|both| no | YAML file of per-queue pause switches, re-read on every land and every gated delivery| pausing disabled when unset |
25
25
|`PROFILES_CONFIG_PATH`| Orchestrator | no | YAML extension profiles and per-queue routing | built-in example profiles |
26
26
|`HOSTNAME`| both | no | Base subscriber name; Gateway appends its PID | time-based service name |
27
27
|`QUEUE_LOG_LEVEL`| both | no | Message-queue logger level |`info`|
0 commit comments