Commit Graph

6824 Commits

Author SHA1 Message Date
Derek Collison
5980cbf861 Update to latest dependencies
Signed-off-by: Derek Collison <derek@nats.io>
2023-03-01 05:23:37 -08:00
Derek Collison
65f2cf2486 Merge pull request #3928 from nats-io/js-pub-inline
Revert behavior for JetStream messages published directly from client.
2023-03-01 05:05:14 -08:00
Derek Collison
baca7bd751 Fix for test flapper
Signed-off-by: Derek Collison <derek@nats.io>
2023-03-01 04:58:01 -08:00
Derek Collison
9f1580686a Revert behavior for JetStream published directly from client to be handled inline.
Signed-off-by: Derek Collison <derek@nats.io>
2023-03-01 04:35:52 -08:00
Derek Collison
8f7a88103b Merge pull request #3926 from nats-io/fix-3924
[FIXED] Fix for MQTT Spec 4.7.2-1 violation
2023-02-28 21:58:24 -08:00
Derek Collison
4a7d73b8f7 Merge pull request #3925 from nats-io/JMS-LeafZNamesV2
Updated LEAFZ names to use remoteServer name/id and added is_spoke
2023-02-28 20:59:35 -08:00
Derek Collison
d9933b1f7a Fix for MQTT Spec 4.7.2-1
Signed-off-by: Derek Collison <derek@nats.io>
2023-02-28 20:43:46 -08:00
Jeremy Saenz
26f241cb62 Updated LEAFZ names to use remoteServer name/id and added is_spoke 2023-02-28 18:09:24 -08:00
Derek Collison
95ed471866 Bump to 2.9.15-RC.3
Signed-off-by: Derek Collison <derek@nats.io>
2023-02-28 14:56:56 -08:00
Derek Collison
321afe6aee Merge pull request #3923 from nats-io/JMS-LeafZNames
Update LEAFZ to include leafnode server/connection name
2023-02-28 14:54:43 -08:00
Derek Collison
d920ca6319 Merge pull request #3922 from nats-io/stress-perf
[IMPROVED] Performance and Stability under heavy IO loads.
2023-02-28 14:49:36 -08:00
Derek Collison
1956fa3e23 Signal a metasnapshot for consumer deletes as well
Signed-off-by: Derek Collison <derek@nats.io>
2023-02-28 14:30:23 -08:00
Derek Collison
724160ebac Fix flapping tests
Signed-off-by: Derek Collison <derek@nats.io>
2023-02-28 14:30:23 -08:00
Jeremy Saenz
9d4a603aaf Update LEAFZ to include leafnode server/connection name 2023-02-28 14:20:18 -08:00
Derek Collison
bab10c1ecb Revert closeAndKeepIndex behavior
Signed-off-by: Derek Collison <derek@nats.io>
2023-02-28 13:39:24 -08:00
Derek Collison
68cd312870 Be more conservative on defaultMaxTotalCatchupOutBytes, default to 64M
Signed-off-by: Derek Collison <derek@nats.io>
2023-02-28 13:28:09 -08:00
Derek Collison
24cb570646 Do not lock on stream name for consumer write state error
Signed-off-by: Derek Collison <derek@nats.io>
2023-02-28 13:24:18 -08:00
Derek Collison
6bda358fa3 Fix tests that made assumptions about single server processing.
Signed-off-by: Derek Collison <derek@nats.io>
2023-02-28 13:24:18 -08:00
Derek Collison
3807441fd7 Always process inbound messages in separate execution context.
Do not duplicate work on leader, sealed and clustered state.

Signed-off-by: Derek Collison <derek@nats.io>
2023-02-28 11:45:31 -08:00
Derek Collison
d85bec2007 Do not block in place on warning, and only warn if consumer not closed
Signed-off-by: Derek Collison <derek@nats.io>
2023-02-28 11:45:31 -08:00
Derek Collison
adbb50fc21 Fixed dios capacity to 4 due to testing under heavy load.
Signed-off-by: Derek Collison <derek@nats.io>
2023-02-28 11:45:31 -08:00
Derek Collison
b19fe508c4 Do not block routes/gws on internal stream and consumer info requests
Signed-off-by: Derek Collison <derek@nats.io>
2023-02-28 11:17:29 -08:00
Derek Collison
bee149b458 Only need server's rlock here.
Signed-off-by: Derek Collison <derek@nats.io>
2023-02-28 11:17:29 -08:00
Tomasz Pietrek
daadbc07cb Merge pull request #3919 from nats-io/jarema/fix-service-export-nil-pointer 2023-02-28 16:51:04 +01:00
Tomasz Pietrek
10c2c387b7 Fix panic if serviceExport is nil
Signed-off-by: Tomasz Pietrek <tomasz@nats.io>
2023-02-28 15:36:37 +01:00
Tomasz Pietrek
bca45c28aa Merge pull request #3918 from nats-io/jarema/fix-claims-update-with-headers
Fix JWT claims update if headers are passed in request
2023-02-28 11:43:57 +01:00
Tomasz Pietrek
8732022d26 Fix JWT claims update if headers are passed in request
Claims update message requires only payload to be passed,
but passing headers should not fail the request.
This change ensures we extract payload from raw message
before decoding it.
Before this change, passing claims update with headers
would return cryptic `expected x chunks` error.

Signed-off-by: Tomasz Pietrek <tomasz@nats.io>
2023-02-28 11:09:18 +01:00
Derek Collison
aad8aa6f21 Do not need lock to grab js here
Signed-off-by: Derek Collison <derek@nats.io>
2023-02-27 18:56:55 -08:00
Derek Collison
fa8afba68f Only warn on write errors if not closed in case they linger under pressure and blocking on dios
Signed-off-by: Derek Collison <derek@nats.io>
2023-02-27 18:56:55 -08:00
Derek Collison
576d31748f Sometimes do force meta snapshot
Signed-off-by: Derek Collison <derek@nats.io>
2023-02-27 18:56:55 -08:00
Derek Collison
6078706544 Fixup test for new parameters
Signed-off-by: Derek Collison <derek@nats.io>
2023-02-27 18:56:55 -08:00
Derek Collison
9721309601 Do not allow meta snapshot processing during recovery to override.
Make sure to process all stream updates during recovery through the ru structure.

Signed-off-by: Derek Collison <derek@nats.io>
2023-02-27 18:56:55 -08:00
Derek Collison
2642a8c03d Optimize locking for when under heavy loads.
Signed-off-by: Derek Collison <derek@nats.io>
2023-02-27 18:56:55 -08:00
Derek Collison
13167f46b9 Optimize some locking for when under heavy loads.
Signed-off-by: Derek Collison <derek@nats.io>
2023-02-27 18:56:55 -08:00
Derek Collison
3cebd26ef9 Optimize for high IO workloads. When we know optional metadata will always be correct on restart do not require inline IO all the time.
Signed-off-by: Derek Collison <derek@nats.io>
2023-02-27 18:56:55 -08:00
Derek Collison
2711460b7b Prevent benign spin between competing leaders with same index but differen term.
Remove lock from route processing for updating peers progress, altready handled in trackPeer.

Signed-off-by: Derek Collison <derek@nats.io>
2023-02-27 11:21:33 -08:00
Derek Collison
43916290df Make minimum snapshot time for all assets 10s.
Do not lock on clustered test for JetStream, not needed.

Signed-off-by: Derek Collison <derek@nats.io>
2023-02-27 11:20:37 -08:00
Neil
1db3934b46 Merge pull request #3915 from nats-io/jsz-mon-raft-group
[main] Add raft query parameter to /jsz to include raft group info
2023-02-27 18:04:45 +00:00
Waldemar Quevedo
74b703549d Add raft query parameter to /jsz to include raft group info
Signed-off-by: Waldemar Quevedo <wally@nats.io>
2023-02-27 05:42:11 -08:00
Derek Collison
67ba9868f1 Merge pull request #3911 from nats-io/raft-spin
[FIXED] If a truncate for a raft WAL failed we could spin.
2023-02-25 19:40:44 -08:00
Derek Collison
4fa0ea32c3 [FIXED] If a truncate for a raft WAL failed we could spin.
Signed-off-by: Derek Collison <derek@nats.io>
2023-02-25 19:07:27 -08:00
Derek Collison
65127d636e Merge pull request #3910 from nats-io/store-speedups
[FIXED] JetStream Store fixes and speedups.
2023-02-25 17:51:21 -08:00
Derek Collison
daacbf5580 Added optimized store NumPending() call.
Optimized and fixed a bug in filestore filteredPending().
Optimized memstore FilteredState().

Added comprehensive tests for NumPending() and FilteredState().

Signed-off-by: Derek Collison <derek@nats.io>
2023-02-25 17:26:26 -08:00
Derek Collison
24c2f3b452 Improved performance of subjects details for stream info.
This version avoids all disk IO in the filestore version.

Signed-off-by: Derek Collison <derek@nats.io>
2023-02-24 17:22:18 -08:00
Derek Collison
87a1846822 Merge pull request #3907 from nats-io/raft-fix
[FIXED] Snapshots would not compact through applied.
2023-02-23 22:44:45 -08:00
Derek Collison
ea2bfad8ea Fixed bug where snapshot would not compact through applied. This mean a subsequent request for exactly applied would return that entry only not the full state snapshot.
Fixed bug where we would not snapshot when we should.

Signed-off-by: Derek Collison <derek@nats.io>
2023-02-23 22:19:37 -08:00
Derek Collison
8169a117e4 Merge pull request #3861 from nats-io/jarema/fix-scaleup-with-maxage
Fix new replicas late MaxAge expiry
2023-02-23 16:41:26 -08:00
Tomasz Pietrek
02ba78454d Fix new replicas late MaxAge expiry
This commit fixes the issue when scaling Stream with MaxAge
and some older messages stored. Until now, old messages were not properly
expired on new replicas, because new replicas first expiry timer
was set to MaxAge duration.
This commit adds a check if received messages expiry happens before
MaxAge, meaning they're messages older than the replica.
https://github.com/nats-io/nats-server/issues/3848

Signed-off-by: Tomasz Pietrek <tomasz@nats.io>
2023-02-24 00:46:02 +01:00
Derek Collison
79df099c44 Merge pull request #3905 from nats-io/raft-stepdown-logic
[IMPROVED] Make sure preferred peer for stepdown is healthy.
2023-02-23 13:58:58 -08:00
Derek Collison
45859e6476 Make sure preferred peer for stepdown is healthy.
Signed-off-by: Derek Collison <derek@nats.io>
2023-02-23 13:06:13 -08:00