Changelog
Refer to the 2.10 Upgrade Guide for backwards compatibility notes with 2.9.x.
Go Version
- 1.22.8
Dependencies
- golang.org/x/crypto v0.29.0 (#6105)
- golang.org/x/sys v0.27.0 (#6105)
- golang.org/x/time v0.8.0 (#6105)
Improved
JetStream
- Metalayer recovery at startup will now more reliably group assets for creation/update/deletion and handle pending consumers more reliably, reducing the chance of ghost consumers and misconfigured streams happening after restarts (#6066, #6069, #6088, #6092)
- Creation of filtered consumers is now considerably faster with the addition of a new multi-subject num-pending calculation (#6089, #6112)
- Consumer backoff should now be correctly respected with multiple in-flight deliveries to clients (#6104)
- Add node10 node size to stree, providing better memory utilisation for some subject spaces, particularly those that are primarily numeric or with numeric tokens (#6106)
- Some JetStream log lines have been made more consistent (#6065)
- File-backed Raft groups will now use the same sync intervals as the filestore, including when sync always is in use (#6041)
- Metalayer snapshots will now always be attempted on shutdown (#6067)
- Consumers will now detect if an ack is received past the stream last sequence and will no longer register pre-acks from a snapshot if this happens, reducing memory usage (#6109)
Fixed
JetStream
- Consumer start sequence when specifying an optional start time has been fixed (#6082)
- Raft snapshots will no longer be incorrectly removed when truncating the log back to applied (#6055)
- Raft state will no longer be deleted if creating a stream/consumer failed because the server was shutting down (#6061)
- Fixed a panic when shutting down whilst trying to set up the metagroup (#6075)
- Raft entries that we cannot be sure were applied during a shutdown will no longer be reported as applied (#6087)
- Corrected an off-by-one error in the run-length encoding of interior deletes, which could incorrectly remove an extra message (#6111)
Tests