Repository navigation
v0.27.1 — a batch's budget reservation is released from the period it was added to
Highlights
-
A batch's budget reservation is released from the period it was added to. A batch's reservation took its budget period from the app's clock. Its release and the scheduler's reconcile take it from the time the database stamped on the job. If a UTC day, week or month boundary fell between the two, or the app and database clocks disagreed, they used different periods. Until the next reconcile, one period kept a stranded reservation that falsely blocked synchronous traffic. In the other, the release could remove another live batch's reservation, letting a
blockbudget admit more than it should. The reserve, the release and the reconcile now all use the job's recorded submission time. -
CI is green again after v0.27.0. Two date- and kernel-dependent end-to-end tests were made deterministic:
- The batch-expiry test failed on the 1st–3rd of every month.
- The backpressure test's stream fit entirely inside a 32 MiB TCP buffer on newer kernels, so its stall check could pass or fail by chance. It now sizes the stream from the host's own TCP limits.
No runtime change.
Upgrade notes
- No migration and no new configuration. Reservations taken before the upgrade are released and reconciled exactly as before, and any boundary mismatch among them clears at the next reconcile.
- Images:
ghcr.io/izzoa/polyrouter:0.27.1andghcr.io/izzoa/polyrouter:0.27.1-semantic.
Full package changelogs live in packages/*/CHANGELOG.md.