Skip to content

v0.32.4 — Queued jobs survive upgrades

Choose a tag to compare

@alextitov19 alextitov19 released this 27 Oct 22:08
· 4 commits to main since this release
d09ebd5

Queued jobs now survive an upgrade. Admission, pressure checks, memory accounting and kill policy are unchanged.

Fix

  • Upgrading no longer stalls the queue. brew upgrade deletes the previous installation while queued jobs may still be waiting on it. Those waiting jobs measured memory through their own, now deleted, copy of memcap, so every measurement failed. Each failure also held back waiters from the new version. On October 27 one upgrade stalled nine jobs across several sessions for about 25 minutes, with pressure green and slots free. A waiting job now falls back to the installed memcap when its own copy is gone. It also loads everything it needs when it starts, and stops re-reading every code file on each measurement.

Also in this release

  • A rewritten README with a demo, a three-line quickstart and a short explanation of how memcap works.
  • Internal working notes moved to docs/dev-notes/.

Upgrade

brew upgrade memcap

Jobs that were already waiting on v0.32.3 or earlier still run that older code. To keep them moving during this one upgrade, run HOMEBREW_NO_INSTALL_CLEANUP=1 brew upgrade memcap, then brew cleanup memcap once they finish. Upgrades from v0.32.4 onward do not need this.

Full details: CHANGELOG.md