Commit Graph

6838 Commits

Author SHA1 Message Date
Byron Ruth
92b93af06a Release v2.9.15
Signed-off-by: Byron Ruth <byron@nats.io>
2023-03-02 11:56:38 -05:00
Derek Collison
c873cb38c0 Bump to 2.9.15-RC.4
Signed-off-by: Derek Collison <derek@nats.io>
2023-03-01 23:20:26 -08:00
Derek Collison
2d76c6157d Merge pull request #3934 from nats-io/corrupt-meta
[FIXED] System stability improvements on restarts with corrupt metadata.
2023-03-01 23:19:15 -08:00
Derek Collison
2beca1a2a6 Partial cache errors are also not critical write errors
Signed-off-by: Derek Collison <derek@nats.io>
2023-03-01 22:52:02 -08:00
Derek Collison
c07087c99d Do metasnapshots optionally on quit and leader change, do not force.
Do not require force snapshots for all consumer deletes.

Signed-off-by: Derek Collison <derek@nats.io>
2023-03-01 22:46:29 -08:00
Derek Collison
f358bf2687 General improvements to the JetStream clustering layer during meta corruption.
We now check for orphaned streams or consumers in clustered mode after our metastate has recovered.
Do not warn on failures for installing raft snapshots if this is due to the node being closed.
During a stream update make sure to check to see if our group assignment has changed out from underneath of us.
Stream info should always delay if we are not the leader. Could cause duplicate responses when it should not.

Signed-off-by: Derek Collison <derek@nats.io>
2023-03-01 22:08:13 -08:00
Derek Collison
c586014477 General raft improvements under heavy corruption.
Do not exit candidate state in place when stepping down, would cause double vote requests.
When truncating our WAL make sure to adjust commit and applied as needed.
On a miss where the index is less than ours, if we can not find the entry reset our state.
For a vote, if last processed term is higher than ours always agree if no vote has been cast.
If terms are equal make sure the requestor's index is at least as high as ours.
If we decide not to vote for someone, and we have not voted and we are a better fit, move forward with a campaign.

Signed-off-by: Derek Collison <derek@nats.io>
2023-03-01 22:06:50 -08:00
Waldemar Quevedo
4e3b9831b1 Merge pull request #3932 from nats-io/flapper2
Fixed flapping test since we have two streams and order in slice not guaranteed.
2023-03-01 08:11:48 -08:00
Derek Collison
deddf8f094 Fix since we have two streams and order in slice not guaranteed
Signed-off-by: Derek Collison <derek@nats.io>
2023-03-01 07:58:01 -08:00
Derek Collison
ca193772c9 Merge pull request #3931 from nats-io/flapper
Attempt to fix flapper again
2023-03-01 06:39:32 -08:00
Derek Collison
2f21cbe109 Merge pull request #3930 from nats-io/go-1.19.6
Bump to Go 1.19.6
2023-03-01 06:37:25 -08:00
Byron Ruth
4c2efe8c25 Bump to Go 1.19.6 2023-03-01 09:27:31 -05:00
Derek Collison
ebe08040e9 Attempt to fix flapper again
Signed-off-by: Derek Collison <derek@nats.io>
2023-03-01 06:24:51 -08:00
Derek Collison
6d93f1d6e1 Merge pull request #3929 from nats-io/dependencies-updates
Update to latest dependencies
2023-03-01 05:49:43 -08:00
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