chart-operator icon indicating copy to clipboard operation
chart-operator copied to clipboard

Update module github.com/nats-io/nats-server/v2 to v2.10.22

Open renovate[bot] opened this issue 1 year ago • 1 comments

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
github.com/nats-io/nats-server/v2 v2.10.16 -> v2.10.22 age adoption passing confidence

Release Notes

nats-io/nats-server (github.com/nats-io/nats-server/v2)

v2.10.22

Compare Source

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.28.0 (#​5971)
  • golang.org/x/sys v0.26.0 (#​5971)
  • golang.org/x/time v0.7.0 (#​5971)
  • go.uber.org/automaxprocs v1.6.0 (#​5944)
  • github.com/klauspost/compress v1.17.11 (#​6002)
Added

Config

  • A warning will now be logged at startup if the JetStream store directory appears to be in a temporary folder (#​5935)
Improved

General

  • More efficient searching of sublists for the number of subscriptions (#​5918)

JetStream

  • Improve performance when checking interest and correcting ack state on interest-based or work queue streams (#​5963)
  • Safer default file permissions for JetStream filestore and logs (#​6013)
Fixed

JetStream

  • Large number of message delete tombstones will no longer result in unusually large message blocks on disk (#​5973)
  • The server will no longer panic when restoring corrupted subject state containing null characters (#​5978)
  • A data race when processing append entries has been fixed (#​5970)
  • Fix a stream desync across replicas that could occur after stalled or failed catch-ups (#​5939)
  • Consumers will no longer race with the filestore when fetching messages, fixing some cases where consumers can get stuck with workqueue streams and max messages per subject limits (#​6003)
  • Pull consumers will now recalculate max delivered when expiring messages, such that the redelivered status does not report incorrectly and cause a stall with a max deliver limit (#​5995)
  • Clustered streams should no longer desync if a catch-up fails due to a loss of leader (#​5986)
  • Fixed a panic that could occur when calculating asset placement in a JetStream cluster (#​5996)
  • Fixed a panic when shutting down a clustered stream (#​6007)
  • Revert earlier PR #​5785 to restore consumer start sequence clipping, fixing an issue where sourcing/mirroring consumers could skip messages (#​6014)

Leafnodes

  • Load balancing of queue groups over leafnode connections (#​5982)
Complete Changes

v2.10.21

Compare Source

Changelog

Refer to the 2.10 Upgrade Guide for backwards compatibility notes with 2.9.x.

Go Version
  • 1.22.7
Dependencies
Added

Config

  • New TLS min_version option for configuring the minimum supported TLS version (#​5904)
Improved

JetStream

  • Global JetStream API queue hard limit for protecting the system (#​5900, #​5923)
  • Orphaned ephemeral consumer clean-up is now logged at debug level only (#​5917)

Monitoring

  • statsz messages are now sent every 10 seconds instead of every 30 seconds (#​5925)
  • Include JetStream pending API request count in statsz messages and jsz responses for monitoring (#​5923, #​5926)
Fixed

JetStream

  • Fix an issue comparing the stream configuration with the updated stream assignment on stream create (#​5854)
  • Improvements to recovering from old or corrupted index.db (#​5893, #​5901, #​5907)
  • Ensure that consumer replicas and placement are adjusted properly when scaling down a replicated stream (#​5927)
  • Fix a panic that could occur when trying to shut down while the JetStream meta group was in the process of being set up (#​5934)

Monitoring

  • Always update account issuer in accountsz (#​5886)

OCSP

  • Fix peer validation on the HTTPS monitoring port when OCSP is enabled (#​5906)

Config

  • Support multiple trusted operators using a config file (#​5896)
Complete Changes

v2.10.20

Compare Source

Changelog

Refer to the 2.10 Upgrade Guide for backwards compatibility notes with 2.9.x.

Go Version
  • 1.22.6
Fixed

JetStream

  • Fix regression in KV CAS operations on R=1 replicas introduced in v2.10.19 (#​5841) Thanks to @​cbrewster for the report!
Complete Changes

v2.10.19

Compare Source

Changelog

Refer to the 2.10 Upgrade Guide for backwards compatibility notes with 2.9.x.

Go Version
  • 1.22.6
Dependencies
Improved

General

  • Reduced allocations in various code paths that check for subscription interest (#​5736, #​5744)
  • Subscription matching for gateways and reply tracking has been optimized (#​5735)
  • Client outbound queues now limit the number of flushed vectors to ensure that very large outbound buffers don’t unfairly compete with write deadlines (#​5750)
  • In client and leafnode results cache, populate new entry after pruning (#​5760)
  • Use newly-available generic sorting functions (#​5757)
  • Set a HTTP read timeout on profiling, monitoring and OCSP HTTP servers (#​5790)
  • Improve behavior of rate-limited warning logs (#​5793)
  • Use dedicated queues for the handling of statsz and profilez system events (#​5816)

Clustering

  • Reduce the chances of implicit routes being duplicated (#​5602)

JetStream

  • Optimize LoadNextMsg for wildcard consumers that are consuming over a large subject space (#​5710)
  • When sync/sync_interval is set to always, metadata files for streams and consumers are now written using O_SYNC to guarantee flushes to disk (#​5729)
  • Walking an entire subject tree is now faster and allocates less (#​5734)
  • Try to snapshot stream state when a change in the clustered last failed sequence is detected (#​5812)
  • Message blocks are no longer loaded into memory unnecessarily when checking if we can skip ahead when loading the next message (#​5819)
  • Don’t attempt to re-compact blocks that cannot be compacted, reducing unnecessary CPU usage and disk I/Os (#​5831)

Monitoring

  • Add StreamLeaderOnly filter option to return replica results only for groups for which that node is the leader (#​5704)
  • The profilez API endpoint in the system account can now acquire and return CPU profiles (#​5743)

Miscellaneous

Fixed

General

  • Fixed a panic when looking up the account for a client (#​5713)
  • The ClientURL() function now returns correctly formatted IPv6 host literals (#​5725)
  • Fixed incorrect import cycle warnings when subject mapping is in use (#​5755)
  • A race condition that could cause slow consumers to leave behind subscription interest after the connection has been closed has been fixed (#​5754)
  • Corrected an off-by-one condition when growing to or shrinking from node48 in the subject tree (#​5826)

JetStream

  • Retention issue that could cause messages to be incorrectly removed on a WorkQueuePolicy stream when consumers did not cover the entire subject space (#​5697)
  • Fixed a panic when calling the raftz endpoint during shutdown (#​5672)
  • Don’t delete NRG group persistent state on disk when failing to create subscriptions (#​5687)
  • Fixed behavior when checking for the first block that matches a consumer subject filter (#​5709)
  • Reduce the number of compactions made on filestore blocks due to deleted message tombstones (#​5719)
  • Fixed maximum messages per subject exceeded unexpected error on streams using a max messages per subject limit of 1 and discard new retention policy (#​5761)
  • Fixed bad meta state on restart that could cause deletion of assets (#​5767)
  • Fixed R1 streams exceeding quota limits (#​5771)
  • Return the correct sequence for a duplicated message on an interest policy stream when there is no interest (#​5818)
  • Fixed setting the consumer start sequence when that sequence does not yet appear in the stream (#​5785)
  • Connection type in scoped signing keys are now honored correctly (#​5789)
  • Expected last sequence per subject logic has now been harmonized across clustered stream leaders and followers, fixing a potential drift (#​5794)
  • Stream snapshots are now always installed correctly on graceful shutdown (#​5809)
  • A data race between consumer and stream updates has been resolved (#​5820)
  • Avoid increasing the cluster last failed sequence when the message was likely deleted (#​5821)

Leafnodes

  • Leafnode connections will now be rejected when the cluster name contains spaces (#​5732)
Complete Changes

v2.10.18

Compare Source

Changelog

Refer to the 2.10 Upgrade Guide for backwards compatibility notes with 2.9.x.

Go Version
  • 1.22.5
Dependencies
  • github.com/nats-io/jwt v2.5.8 (#​5618)
  • github.com/minio/highwayhash v1.0.3 (#​5627)
  • golang.org/x/crypto v0.25.0 (#​5627)
  • golang.org/x/sys v0.22.0 (#​5627)
Improved

Embedded

  • Export server function to initiate “lame duck mode” when embedding NATS (#​5660)

JetStream

  • CPU spike during recalculation of first message in the memory store (#​5629)
Fixed

JetStream

  • Fix duplicate callbacks on full wildcard match (#​5610)
  • Multiple fixes for the filestore per-subject state (#​5616)
  • Fix checkSkipFirstBlock which could return a negative index if the first block in the per-subject index is outdated (#​5630)
  • Don't ack messages if consumer is filtered and they were not applicable (#​5639, #​5612, #​5638)
  • Protect against possible panic in the filestore where the stree index is nil (#​5662)
  • Prevent panic when shutting down a server immediately after starting it (#​5663)
Complete Changes

v2.10.17

Compare Source

Changelog

Refer to the 2.10 Upgrade Guide for backwards compatibility notes with 2.9.x.

Go Version
Dependencies
  • golang.org/x/sys v0.21.0 (#​5508)
  • golang.org/x/crypto v0.24.0 (#​5509)
  • github.com/klauspost/compress v1.17.9 (#​5538)
  • github.com/nats-io/nats.go v1.36.0 (#​5538)
Added

Monitoring

  • Experimental /raftz monitoring endpoint for retrieving internal Raft group state for diagnostic purposes (#​5530)
Improved

Core

  • Reorder struct fields in stree for improved memory alignment (#​5517)

JetStream

  • Improve performance of calculating num-pending and interest state of a stream (#​5476)
  • Improve leadership change signaling (#​5504, #​5505)
  • Improved memory-based stream behavior during server restarts (#​5506)
  • Reset election timer when leaving observer mode enabling quicker leadership hand-off (#​5516)
  • Ensure ack processing is consistent and correct between leader and followers for replicated consumers (#​5524)
  • Use per-subject info to speed up load-last filestore operations with wildcard filters (#​5546)
  • Populate missing per-subject info after skipping blocks when calculating filtered pending (#​5545)
  • Reduced time taken to process consumer deletes when there is a large gap between the consumer ack floor and the stream last sequence (#​5547)
  • No longer retrieve the WAL state unnecessarily when installing Raft snapshots (#​5552)
  • Increased filestore block and per-subject info cache expiry times to help improve performance on sparse streams (#​5568)
  • Reduce allocations in isMatch in filestore/memstore (#​5573)
  • Improved handling of out-of-date first blocks in per-subject info entries (#​5577)
  • Use stree for message block subject indexing instead of hashmaps (#​5559)
  • Avoid loading last message blocks on LoadNextMsg miss (#​5584)
  • Add node48 node size to stree, providing better memory utilisation for some subject spaces (#​5585)
  • Logging message when exceeding JetStream account limits now prints the account (#​5597)

Monitoring

  • Rate-limit statsz updates which reduces load for very large clusters (#​5470, #​5485) Thanks to @​wjordan for the report and contribution!
Changed

MQTT

  • Do not wait for JS responses when disconnecting the session (#​5575)
Fixed

Accounts

Core

  • Allow client kick to also kick leafnode connections (#​5587)
  • Fix imports sometimes not being available for a client after server restarts (#​5588, #​5589)

JetStream

  • Avoid panic on corrupted TAV file (#​5464)
  • Performance regression in LoadNextMsg with very sparse or no messages (#​5475)
  • Stepdown candidate when append-entry is ahead of last log term (#​5481)
  • Fix possible redelivery after successful ack during rollout restarts (#​5482)
  • Fix returning maximum consumers limit reached on some consumer updates (#​5489)
  • Fix last sequence stream reset on server restart (#​5497)
  • Fix data between creating a consumer and determining cluster state (#​5501)
  • Prevent interleaving of setting/unsetting observer states (#​5503)
  • Fix accounting for consumers with a different replication factor than the parent stream (#​5521)
  • Fix potential segfault if mset.mirror was nil when calculating the last loaded message (#​5522)
  • Follower stores no longer inherit the redelivered consumer delivered sequence which could break ack gap fill (#​5533)
  • Direct Raft proposals will no longer bypass the internal proposal queue which could cause incorrect interleaving of state (#​5543)
  • Audit streams that capture $JS.>, $JS.API.>, $JSC.> and $SYS.> subjects are now only allowed if NoAck is set, avoiding potential misconfiguration that could affect the JetStream API, with the exception of the more specific $JS.EVENT.> and $SYS.ACCOUNT.> as these were allowed before (#​5548, #​5556)
  • Streams from failed snapshot restores are now cleaned up correctly, fixing potential false positive warnings on /healthz after a failed restore (#​5549)
  • Ensure that internal system clients used by Raft groups are always cleaned up correctly, fixing a potential memory leak (#​5566) Thanks to @​slice-srinidhis for the report!
  • Fixed a potential panic when updating stream sources on an existing stream (#​5571)
  • Fixed panic when creating a stream with an incorrect mapping destination (#​5570, #​5571)
  • Fixed returning error when trying to update a stream that has sources with bad subject transforms (#​5574)
  • Fixed a bug that would return “no message found” for last_per_subject (#​5578)
  • Correctly leave Raft observer state after applies were paused, i.e. due to a catch-up in progress (#​5586)
  • JetStream no longer leaks memory when creating and deleting Raft groups (#​5600)
  • Fixed a potential panic in consumer ack queue handling (#​5601)
  • Fixed data race in runAsLeader (#​5604)

Leafnodes

  • Prevent potential message duplication for queue-group subscriptions (#​5519) Thanks to @​pcsegal for the report!

Monitoring

  • Ensure consistency of the delivered stream sequence in /jsz filtered consumer reporting (#​5528)
Chores

Config

  • Clarify comment on re-use of config Options type for embedded mode (#​5472) Thanks to @​robinkb for the report and contribution!

JetStream

  • Added additional memory-based Raft tests (#​5515)
Complete Changes

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • [ ] If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

renovate[bot] avatar Jun 28 '24 00:06 renovate[bot]

ℹ Artifact update notice

File name: go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 2 additional dependencies were updated

Details:

Package Change
github.com/klauspost/compress v1.17.9 -> v1.17.11
golang.org/x/time v0.5.0 -> v0.7.0

renovate[bot] avatar Jun 28 '24 00:06 renovate[bot]