Commit Graph

2636 Commits

Author SHA1 Message Date
Derek Collison
1ae3d41e26 Reload already calls configAll
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-25 17:24:03 -07:00
Derek Collison
5d5de5925f Introduce a previous leader state in the raft layer to allow quicker responses when leaderless.
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-25 17:08:29 -07:00
Derek Collison
282def10fd Fix data race
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-25 17:07:34 -07:00
Derek Collison
6cd6c380f1 Make standalone mode ignore leaf connections
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-25 16:13:23 -07:00
Derek Collison
e53caee5e8 Enforce server limits even when dynamic limits for accounts in play.
We were not properly enforcing server limits. This commit will allow a server to enforce limits but still remain functional even at the JetStream level.
Also fixed a bug for RAFT replay that could cause instability.

Signed-off-by: Derek Collison <derek@nats.io>
2021-03-25 16:06:27 -07:00
Derek Collison
a627db9fc8 Do not request streaminfo from streams that are completely offline.
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-24 10:26:09 -07:00
Derek Collison
06803dafbf Tweak seq tracking for flow control, also fixup code
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-24 09:46:54 -07:00
Derek Collison
2ed53035ed Reworked flow control for sources and mirrors.
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-24 07:07:33 -07:00
Derek Collison
6f8c0f9193 Fix broken test
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-22 20:31:28 -07:00
Derek Collison
a75e8f8c80 Fix for an issue with multiple restarts that showed stalled and sometimes lost streams.
The issue was when a state was removed from a server and restarted it would catch up properly.
However upon cluster restart the system could exhibit strange behaviors. This was due to on
catchup not properly creating a meta snapshot when one was received, leaving no meta state to recover.

Signed-off-by: Derek Collison <derek@nats.io>
2021-03-22 20:06:38 -07:00
Derek Collison
022c5b4ab2 Fix for bad behavior with flow control and multiple sources streams.
Allow chaining of sources and mirrors with filtered consumers.

Signed-off-by: Derek Collison <derek@nats.io>
2021-03-22 11:13:51 -07:00
Derek Collison
7284756a8e Update to use Go client
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-21 09:31:17 -07:00
Derek Collison
0f548edcc6 Reduce sliding window for direct consumers and catchup stream windows.
Remove another possible wire blocking operation in raft.

Signed-off-by: Derek Collison <derek@nats.io>
2021-03-21 09:24:27 -07:00
Derek Collison
a4119e13c1 Fix for new data race detected
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-20 17:46:59 -07:00
Derek Collison
fcd4d0b75f Removed un-needed check in test
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-20 17:11:58 -07:00
Derek Collison
0bcda04a9d Send both last consumer and stream sequence for idle hb
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-20 16:57:13 -07:00
Derek Collison
2d46c112d6 Make sure to not interrupt flow control unless we miss.
Fix deadlock for mirrors.

Signed-off-by: Derek Collison <derek@nats.io>
2021-03-20 15:05:41 -07:00
Derek Collison
ced35e5b8c Reworked sources and mirrors on missed data.
Add last delivered sequence to consumer idle heartbeats.

Signed-off-by: Derek Collison <derek@nats.io>
2021-03-20 14:03:46 -07:00
Derek Collison
faa6dc85eb Fix for flapping test
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-20 11:16:40 -07:00
Derek Collison
14a896fee8 Wait longer
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-20 10:53:12 -07:00
Derek Collison
4c6fd179d6 Can not use sub comparisons for old messages from direct consumers.
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-20 10:30:09 -07:00
Derek Collison
1dde8aed5d Do not send idle heartbeats if not active
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-20 09:22:06 -07:00
Derek Collison
d9b78b8bc4 Update info status for JetStream when disabling and restarting
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-20 09:07:47 -07:00
Derek Collison
cfe2f448ad Fix for when gateways were dropped and we did not detect interest returning.
Fix for leaked subscription when retrying the source consumers.
Better suppression of old messages from old direct consumers.

Signed-off-by: Derek Collison <derek@nats.io>
2021-03-20 08:44:18 -07:00
Derek Collison
04a9d51035 Fix for data race
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-20 07:15:36 -07:00
Derek Collison
61771e88f8 In operator mode with JetStream we want to load accounts that have stable storage.
Also if an account was registered but not JetStream enabled, update it vs error.

Signed-off-by: Derek Collison <derek@nats.io>
2021-03-20 06:53:13 -07:00
Derek Collison
8eefff2b3b Make sure the jetstream accounts use the name as the key to the map.
This prevents possible double adds under reload or restart scenarios.

Signed-off-by: Derek Collison <derek@nats.io>
2021-03-18 17:29:26 -07:00
Derek Collison
a2f1977328 Merge pull request #2021 from nats-io/direct
Direct consumer updates.
2021-03-18 11:51:39 -07:00
Derek Collison
4f2b701eb5 Unlock only on return
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-18 11:38:04 -07:00
Derek Collison
d32f3ce479 Directs may not show up here anymore
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-18 11:29:33 -07:00
Derek Collison
358ac6a956 Fix for race detector
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-18 11:09:28 -07:00
R.I.Pienaar
14daf39438 ensure connect events are always sent
Signed-off-by: R.I.Pienaar <rip@devco.net>
2021-03-18 19:04:36 +01:00
Derek Collison
702e17d48f Direct consumer updates.
1. Reduce maximum sliding window for large N->1.
2. Do not create any store for directs.
3. Relax hard requirement for interest at creation for directs.

Signed-off-by: Derek Collison <derek@nats.io>
2021-03-18 10:52:40 -07:00
Derek Collison
259cb07284 When a stream was busy but not for a filtered consumer with idle heartbeats they would be suppressed.
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-18 07:46:29 -07:00
Derek Collison
aa0c3e12ac Bump version
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-18 06:46:28 -07:00
Derek Collison
b60847c532 Merge pull request #2017 from nats-io/mirror_restart
Mirror consumers were not able to restart after initial failure.
2021-03-18 06:28:04 -07:00
Derek Collison
b00b723168 Mirrors were not properly retrying after failures to create their internal consumer.
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-18 06:13:26 -07:00
R.I.Pienaar
11ee71ab8c Merge pull request #2016 from ripienaar/account_failure_logs
improve log line when account registration fails
2021-03-18 13:06:12 +01:00
R.I.Pienaar
d6e63cb683 improve log line when account registration fails
Signed-off-by: R.I.Pienaar <rip@devco.net>
2021-03-18 12:19:23 +01:00
Derek Collison
566937a880 Updates to memory pressure.
1. Release cache during heavy writes when we move to a new block if no read activity.
2. If we detect a linear scan reading dump the cache on the last seq read for the mb.

Signed-off-by: Derek Collison <derek@nats.io>
2021-03-17 18:51:34 -07:00
Derek Collison
601dbf48c1 Protect against the stream nil'ing out the outq for the consumer
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-17 18:51:18 -07:00
R.I.Pienaar
ac70abdcf3 update banner url
Signed-off-by: R.I.Pienaar <rip@devco.net>
2021-03-17 16:39:24 +01:00
Derek Collison
74cc2b581a When a stream is a mirror or has sources we need to check the upstream streams for filter subject correctness.
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-17 06:39:21 -07:00
Derek Collison
2e9ae92bb5 Fix for #2011 and atomics on 32bit systems.
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-16 13:57:28 -07:00
Matthias Hanel
2a2adb76bc Suppress varz jetstream output if not enabled
Signed-off-by: Matthias Hanel <mh@synadia.com>
2021-03-15 16:03:41 -04:00
Derek Collison
7ade99d102 Don't set to nil on stop to avoid any panics accessing that map.
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-15 09:13:29 -07:00
Ivan Kozlovic
0d5b037fc3 Release v2.2.0
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2021-03-14 19:51:14 -06:00
Derek Collison
e84f845afd Avoid lock inversions.
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-14 18:17:53 -07:00
Derek Collison
4d15658ec2 Merge pull request #1996 from nats-io/updates
JSC Updates
2021-03-14 17:17:08 -07:00
Derek Collison
e530c98ebe We no longer force remove our peer on out of space.
We also delay restarting JetStream to make sure accounts are enabled.

Signed-off-by: Derek Collison <derek@nats.io>
2021-03-14 17:01:38 -07:00