github restatedev/restate v1.7.7

2 hours ago

Restate 1.7.7

Restate 1.7.7 adds VQueue inspection commands to the Restate CLI, expands RocksDB storage tuning, fixes a VQueue refill issue that could leave invocations pending, and bundles Restate UI 1.0.21.

🔍 VQueue CLI Introspection

The Restate CLI now provides commands for inspecting virtual queues:

restate vqueues list
restate vqueues describe <VQUEUE_ID>

restate vqueues list displays virtual queues and their entry counts. restate vqueues describe shows metadata, entry counts, and individual entries for a selected queue.

No configuration or migration changes are required.

💾 Configurable RocksDB Storage Tuning

Log-server and partition-store RocksDB configurations now expose additional controls for storage devices and workload-specific tuning:

  • rocksdb-writable-file-max-buffer-size
  • rocksdb-l0-num-compaction-trigger
  • rocksdb-max-open-files
  • rocksdb-partition-sst-by-log
  • rocksdb-partition-sst-by-loglet

Restate now derives each database's memtable count and write-buffer size from its memory budget and target SST size. Increasing the log-server memtable budget can add more memtables without continuing to increase the size of each write buffer.

Log-server compaction output is partitioned by log by default, preventing compacted SST files from spanning logs. Existing SST files adopt these boundaries through normal compaction.

To retain SST boundaries based only on the configured target file size:

[log-server]
rocksdb-partition-sst-by-log = false

Existing configurations remain accepted and no configuration migration is required. Operators with workload-specific RocksDB settings should review and benchmark their existing rocksdb-memory-budget and rocksdb-max-file-size values after upgrading.

🛡️ Reliable VQueue Refills

This release fixes an asynchronous VQueue refill issue involving concurrent invocation cancellation.

Cancelling an invocation later in a VQueue could previously move the refill cursor past queued invocations that had not yet been read from storage. Those invocations could remain pending until the partition scheduler restarted.

VQueue refills now advance only through the storage range known to be fully covered. No configuration or data migration is required.

🖥️ Restate UI 1.0.21

The bundled Restate UI has been updated from v1.0.19 to v1.0.21, incorporating the minor fixes from the v1.0.20 and v1.0.21 UI releases.

📖 Full Release Notes → https://github.com/restatedev/restate/blob/main/release-notes/v1.7.7.md

Install

Pull the Docker images

docker pull docker.restate.dev/restatedev/restate:1.7.7
docker pull docker.restate.dev/restatedev/restate-cli:1.7.7

Install prebuilt binaries via Homebrew

brew install restatedev/tap/restate-server
brew install restatedev/tap/restate
brew install restatedev/tap/restatectl

Install prebuilt binaries into your npm project

npm install @restatedev/restate-server@1.7.7
npm install @restatedev/restate@1.7.7
npm install @restatedev/restatectl@1.7.7

Download binary archives

File Platform Checksum
restate-server-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
restate-server-x86_64-apple-darwin.tar.xz Intel macOS checksum
restate-server-aarch64-unknown-linux-musl.tar.xz ARM64 MUSL Linux checksum
restate-server-x86_64-unknown-linux-musl.tar.xz x64 MUSL Linux checksum
restate-cli-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
restate-cli-x86_64-apple-darwin.tar.xz Intel macOS checksum
restate-cli-aarch64-unknown-linux-musl.tar.xz ARM64 MUSL Linux checksum
restate-cli-x86_64-unknown-linux-musl.tar.xz x64 MUSL Linux checksum
restatectl-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
restatectl-x86_64-apple-darwin.tar.xz Intel macOS checksum
restatectl-aarch64-unknown-linux-musl.tar.xz ARM64 MUSL Linux checksum
restatectl-x86_64-unknown-linux-musl.tar.xz x64 MUSL Linux checksum

Don't miss a new restate release

NewReleases is sending notifications on new releases.