Skip to content

v1.8.1

Choose a tag to compare

@MarcusSorealheis MarcusSorealheis released this 23 Oct 14:23
· 118 commits to main since this release
v1.8.1
1fa9dca

A patch release, mostly for schedulers backed by Redis and for CAS uploads that retry. Upload retries after a reset now replay the whole body every time; before, every retry after the first sent an empty body and failed with InvalidArgument. The Redis scheduler creates its RediSearch index as persistent, because RediSearch never garbage collects a temporary index and every query paid for its dead entries. A filter pass still reads its listed records one at a time: an interim change that read them 64 at a time broke the scheduler's Redis connection under a queue burst and is reverted in this release. The memory-backed scheduler reads its whole listing up front instead of holding its lock inside the stream, and the filesystem store's has() reports content length.

The one new feature is opt-in: telemetry can be exported over TLS to an https OTLP collector. The release also fixes OSV advisories in rustls-webpki, webpki-roots, follow-redirects, DOMPurify and Next.js, and upgrades to Bazel 9.3.1 and 8.8.2. Worth taking for any deployment with a Redis scheduler or a slow-store upload path that retries; no configuration changes are needed.

What's Changed

⛰️ Features

  • Export telemetry over TLS to an https OTLP collector by @b7r6 in (#3023) - (6213c10)

🐛 Bug Fixes

  • (scheduler) read the memory store's listing whole, never under the lock inside the stream by @b7r6 in (#3013) - (13939b5)
  • Replay a reset buf_channel stream on every retry, not only the first: later upload retries sent an empty body and failed with InvalidArgument by @ashishsonamm in (#3026) - (547a151)
  • Read a filter pass's listed records one at a time again: the 64-way reads broke the scheduler's Redis connection under a queue burst by @amankrx in (#3021) - (86c2923)
  • Report content length from filesystem store has() by @ashishsonamm in (#3006) - (b014176)
  • Read the listed records of a filter pass 64 at a time so a deep queue on Redis lists inside the provisioner's timeout by @amankrx in (#3001) - (4edf822)
  • Create the scheduler index persistent: RediSearch never garbage collects a temporary index and every query pays for the dead entries by @amankrx in (#3000) - (05bb310)

🧪 Testing & CI

⬆️ Bumps & Version Updates

Full Changelog: v1.8.0...v1.8.1