NATS - v2.9.15
Changelog
Go Version
- 1.19.6: Both the release executables and Docker images are built with this Go release
Added
- Monitoring
- Add raft query parameter to /jsz to include group info (#3915)
- Update /leafz to include leaf node remove server name and “spoke” flag (#3923, #3925)
Changed
- Lower default value of
jetstream.max_outstanding_catchup
to prevent slow consumers between routes (#3922) - Note: The new value is now 64MB from 128MB. This is better optimized for 1 Gbit links, however if your links are 10 Gbit or higher, this value can be set back to 128MB if slow consumers were not previously observed.
Improved
- Refactor intra-process queue to reduce allocations (#3894)
- JetStream
- Better system stability and recovery from corrupt metadata due to hard forced restarts (#3934)
- Optimize on-disk, per-subject info update (#3867)
- Limit concurrent blocking IO to improve stability under heavy IO loads (#3867)
- Improve message expiry calculation for large numbers of messages (#3867)
- Optimize when and how consumer num pending is calculated, significantly speeding up consumer info requests (#3877)
- Improve parallel consumer creation to prevent dropped messages (#3880)
- Properly warn on consumer state update state failures (#3892)
- Performance of consumer creation for certain configurations (#3901)
- Send current snapshot to followers when becoming meta-leader (#3904)
- Ensure preferred peer during stepdown is healthy (#3905)
- Optimized various store calls on stream state (#3910)
- Various performance and stability under heavy IO loads (#3922) (Thank you @matkam and @davidzhao for the report and the test harness!)
Fixed
- Fix stack overflow panic in reverse entry check when inbox ends with wildcard (#3862)
- Check if client connection name was already set when storing, preventing recursive memory growth (#3886)
- Fix check for count of wildcard tokens in “partition” subject transform (#3887) (Thank you @MauriceVanVeen for the contribution!)
- Fix panic if service export is nil (#3917) (Thank you @MauriceVanVeen for the report!)
- JetStream
- Ensure per-subject info is updated when doing stream compact (#3860)
- Ensure account usage is updated in the filestore when extended version purge occurs (#3876)
- Prevent consumer deletes on restart, with non-fatal errors (#3881)
- Do not warn if consumer replicas is zero since it will be inherited from the stream (#3882)
- Named push consumers with inactive thresholds deleted when still active (#3884)
- Prevent spurious “Error storing entry to WAL” log messages (#3893, #3891)
- Clean up consumer redelivery state on stream purge (#3892)
- Clean up consumer ack pending if below stream ack floor (#3892)
- Update ack floors on messages being expired (#3892)
- Fix lost ack pending consumer state on partial stream purge (#3892)
- Snapshot and compact the consumer RAFT WAL, even when state changes do not occur, to prevent excessive disk usage (#3898)
- Fix KV accounting errors under heavy concurrent usage (#3900)
- Ensure new replicas respect MaxAge when a stream is scaled up (#3861)
- Snapshots would not compact after being applied (#3907)
- Fix filtered pending state calculation (#3910)
- Recover from a failed truncate on raft WAL (#3911)
- Fix JWT claims update if headers are passed (#3918)
- MQTT
- Prevent use of wildcard characters with topics beginning with $, per the MQTT spec violation 4.7.2-1 (#3926) (Thank you @dominikh for the report!)
Dependency Updates
- klauspost/compress - v1.16.0
- nats-io/nats.go - v1.24.0
- golang.org/x/crypto - v0.6.0
- golang.org/x/sys - v0.5.0
Complete Changes
https://github.com/nats-io/nats-server/compare/v2.9.14...v2.9.15
Details
date
March 2, 2023, 5:19 p.m.
name
Release v2.9.15
type
Patch
👇
Register or login to:
- 🔍View and search all NATS releases.
- 🛠️Create and share lists to track your tools.
- 🚨Setup notifications for major, security, feature or patch updates.
- 🚀Much more coming soon!