NATS - v2.9.4


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)
  • 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:
    • Subjects mapping were not working. Thanks to @ozon2 for the report (#3552)
  • Routing:
    • An implicit route may not reconnect, regardless of the ConnectRetries setting. This can happen in configurations where the routes[] 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)

Complete Changes

https://github.com/nats-io/nats-server/compare/v2.9.3...v2.9.4


Details

date
Oct. 27, 2022, 10:48 p.m.
name
Release v2.9.4
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!
Continue with GitHub
Continue with Google
or