RustQueue 0.8.0
RustQueue 0.8.0
RustQueue 0.8.0 adds a production-shaped Kodo compatibility profile entirely on the RustQueue side. Upstream Kodo does not need to be modified.
Highlights
- Discovery
/nodesadvertises three stable producer Gateway identities while/lookupcontinues to return the real Broker owners used by consumers. - The Gateway terminates the NSQ producer protocol, routes only to publish-ready Brokers, and retries another Broker only after an explicit pre-commit rejection. Ambiguous post-write failures are returned without an automatic replay.
- The NSQ-compatible
/statsresponse now includes the standardtopic_name,channel_name, depth, client, and cumulative counter fields expected by Kodo. - Topic and Channel message, requeue, and timeout counters are durable and monotonic across restart, empty, and eviction.
- Kodo's unauthenticated channel cleanup is disabled and fails closed. Administrative operations use RustQueue's authenticated native management flow.
- The stable protocol/storage maximum is now 100 MiB. The Kodo profile accepts and validates Kodo's exact 104,857,500-byte application maximum.
- Token rotation, drain and disk-pressure routing, rolling cutover, readiness fences, metrics, alerts, and Operator status handling are hardened.
Deployment and upgrade notes
- Kodo compatibility remains opt-in with
queue.kodoCompatibility.enabled=true. - The profile requires three schedulable Broker/Gateway nodes and an immutable image digest. Consult the Kubernetes operations guide for resource, network-policy, and cutover requirements.
- Existing clusters must first roll the 0.8.0 Broker image and wait for
Ready=Truebefore enabling the Kodo profile or publishing messages above the previous limit. - After Gateway advertisement, restart every Kodo publisher and update
producerRestartNonce. Broker maintenance remains blocked until the restart fence is confirmed. - Automatic Kodo channel cleanup must remain disabled.
- Storage feature level 2 is a monotonic rollback floor after large records are written.
Validation
- complete Rust 1.88 release gate: format, locked all-feature check/test, Clippy, and release build
- Console typecheck/build and Helm lint/template
- all seven fuzz targets
- Go and Python NSQ compatibility in plain and secure modes
- unmodified real Kodo source parser/admin-flow replay
- exact 104,857,500-byte PUB/DPUB with one Gateway failover
- three-Broker acceptance: 3,239 expected and unique messages, zero missing, duplicates, or publish errors
Assets
rustqueue-0.8.0-linux-aarch64.tar.gz: Linux ARM64 binaries and example configurationrustqueue-0.8.0-source.tar.gz: source archiverustqueue-0.8.0.tgz: Helm chartSHA256SUMS-0.8.0: SHA-256 checksums