Changelog
Go Version
- 1.19.2: Both release executables and Docker images are built with this Go release.
Fixed
- Configuration Reload:
- The option
allow_non_tls
would be ignored after a configuration reload. Thanks to @JulienVdG for the report (#3583)
- The option
- JetStream:
- Possible deadlock. Thanks to @ashumkin for the report and @neilalexander for the contribution (#3555)
- Possible panic in disk full situations. Thanks to @fantashley for the contribution (#3560, #3568)
- "First sequence mismatch" after a restart/deployment with streams that have message TTLs. Thanks to @MauriceVanVeen for the report (#3567)
- Update of an R1 consumer would not get a response. The update was accepted by the server, but the client library or NATS CLI would timeout waiting for the response (#3574)
- Update of a consumer's
InactiveThreshold
would not always take effect. Thanks to @neilalexander for the contribution (#3575) - A consumer may not be removed based on
InactiveThreshold
in presence of gateways (#3575) - Migration of ephemerals on server shutdown was not working and could create "ghost" consumers on servers restart, that is, consumers that would be listed by the meta leader, but getting information about this consumer would fail. Migration will no longer occur, instead, all R1 pull consumers will be notified that the server is shutting down, invalidating the pending requests (#3576)
- Consumers on a
Limits
policy stream could have their replicas changed to R1 (#3576) - Ensure that RAFT communication is properly stopped when needed, which otherwise could cause server memory usage increase (#3577)
- Adding a warning when the inbound of messages causes a lag with the storage layer. In future release, the producers may be notified through a PubAck failure that the message cannot be accepted (#3578)
- Added pending messages/bytes to pull request errors and status: when the server responds to the client library that a request has timed-out, or server is shutdown, etc..., the response will now include the request pending messages and bytes (#3572, #3587)
- More messages than the
max_msgs_per_subject
value could be recovered on server restart following an abnormal server exit (#3579, #3582)
- Leafnode:
- Existing subscriptions would be sent to leafnodes even though they violated permissions. The publish side would be doing the right thing by not sending the messages over, but the subscription interest was still sent (#3585)
- MQTT:
- Routing:
- An implicit route may not reconnect, regardless of the
ConnectRetries
setting. This can happen in configurations where theroutes[]
block contains only the seed (and not as a name that could resolve to each IP of the cluster). If a route to a discovered server is disconnected, it may not try to reconnect due to the implicit nature of that connection. Thanks to @wubumihuo for the report (#3573)
- An implicit route may not reconnect, regardless of the