Commit Graph

198 Commits

Author SHA1 Message Date
Matthias Hanel
2ec87a56ba fixed unit tests where SequencePair comparisons fail due to time last_active
Signed-off-by: Matthias Hanel <mh@synadia.com>
2021-08-16 21:05:12 -04:00
Derek Collison
f07a86c6db Merge branch 'main' into acc-connz
Signed-off-by: Derek Collison <derek@nats.io>
2021-08-14 18:13:43 -07:00
Derek Collison
944dd248c4 Fix for tests
Signed-off-by: Derek Collison <derek@nats.io>
2021-08-14 17:39:51 -07:00
Derek Collison
b6c0412d2a More fixes for some flapping tests
Signed-off-by: Derek Collison <derek@nats.io>
2021-08-14 13:35:04 -07:00
Derek Collison
14572b080b Fixed and moved large purge test to no race
Signed-off-by: Derek Collison <derek@nats.io>
2021-08-14 13:07:46 -07:00
Derek Collison
c90dc48ba9 Fix for flapper
Signed-off-by: Derek Collison <derek@nats.io>
2021-08-14 11:44:17 -07:00
Derek Collison
9405b77e46 Added in last active reporting for consumers for delivered and ack floor.
Signed-off-by: Derek Collison <derek@nats.io>
2021-08-14 11:36:27 -07:00
Derek Collison
5ec5020a8b Add in DeliverGroup to consumer as optional queue group.
Changed sublist register for notifications to be queue bound.

Signed-off-by: Derek Collison <derek@nats.io>
2021-08-13 15:07:56 -07:00
Derek Collison
54443312a4 Fix for flapper
Signed-off-by: Derek Collison <derek@nats.io>
2021-08-11 16:53:58 -07:00
Matthias Hanel
b511f3fd7a fixed unit test to require fc export as well
Signed-off-by: Matthias Hanel <mh@synadia.com>
2021-08-10 14:03:44 -04:00
Derek Collison
8e5314b67f Fix for subscription leak.
If an auto-unsub request was received after the subscription had already delivered more than the limit, the subscription will leak.

Signed-off-by: Derek Collison <derek@nats.io>
2021-08-07 16:58:25 -07:00
Derek Collison
bf966d84f3 Number of initial pending was off by one when DeliverLastPerSubject was utilized on a consumer.
Signed-off-by: Derek Collison <derek@nats.io>
2021-08-04 14:20:52 -07:00
Derek Collison
dfd9548d98 Merge pull request #2406 from nats-io/consumer-panic
Various bug fixes and improvements to clustered filestore consumer stores.
2021-08-04 08:36:24 -07:00
Derek Collison
09012f0847 Fix for #2401.
Leafnodes with same domain and shared system account should behave like flat jetstream network.

Signed-off-by: Derek Collison <derek@nats.io>
2021-08-04 07:07:29 -07:00
Derek Collison
398ae95a4a Various bug fixes and improvements to filestore consumer stores.
Improved behavior around clustered persistent consumers.

Signed-off-by: Derek Collison <derek@nats.io>
2021-08-03 22:17:49 -07:00
Ivan Kozlovic
8d2faadb5c Test to reproduce panic on consumer state recovery
You may have to run the test multiple times:
```
go test -race -v -run=TestJetStreamPanicDecodingConsumerState ./server -count=10
```

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2021-08-03 15:35:46 -06:00
Derek Collison
925a6fe6b2 Fix for #2388. Leafnodes with no JS can seamlessly access a HUB with JS.
This is the reverse of the early work to have LNs extend a non-JS cluster.
Also have mixed mode tests as well.

Signed-off-by: Derek Collison <derek@nats.io>
2021-08-01 14:57:47 -07:00
Derek Collison
065049e090 Fix for flapper
Signed-off-by: Derek Collison <derek@nats.io>
2021-07-08 07:42:40 -07:00
Derek Collison
6337198119 Fix for multiple concurrent ephemeral consumer requests in clustered mode with max consumers set.
Signed-off-by: Derek Collison <derek@nats.io>
2021-07-08 07:02:09 -07:00
Ivan Kozlovic
b582b13a96 Fixed another flapper
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2021-07-06 14:20:16 -06:00
Ivan Kozlovic
df3eccbd69 Fix yet another flapper
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2021-07-06 13:55:28 -06:00
Ivan Kozlovic
710d0c3a1f Fixed another flapper
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2021-07-06 12:44:08 -06:00
Ivan Kozlovic
d5f5a74438 Fixed some tests
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2021-07-06 12:20:03 -06:00
Derek Collison
57cfba0964 Make requirement for interest on creation of ephemerals soft vs hard.
Will start the cleanup timer if no interest but allow creation.

Signed-off-by: Derek Collison <derek@nats.io>
2021-07-06 10:48:07 -07:00
Derek Collison
960c45df81 Use of sync.Pool for filestore could cause msg corruption.
Signed-off-by: Derek Collison <derek@nats.io>
2021-07-06 08:41:01 -07:00
Derek Collison
3c16f776dc Protect account prand, use faster Uint64 variant
Signed-off-by: Derek Collison <derek@nats.io>
2021-06-29 06:13:41 -07:00
Derek Collison
cbb97a4f4a Fix for Go client behavior change
Signed-off-by: Derek Collison <derek@nats.io>
2021-06-27 10:52:03 -07:00
Derek Collison
545230bd9e FIXED Clustered streams can become broken with seq mismatch state on low level store failures.
We can account for high level failure properly but were not properly accounting for low level store failures.

Signed-off-by: Derek Collison <derek@nats.io>
2021-06-25 13:46:40 -07:00
Derek Collison
08197de9e0 FIXED max consumers was not enforced when set on stream
Signed-off-by: Derek Collison <derek@nats.io>
2021-06-25 11:45:36 -07:00
Derek Collison
2e145196b8 Fix for extended purge by sequence.
Signed-off-by: Derek Collison <derek@nats.io>
2021-06-22 07:38:30 -07:00
Derek Collison
5fcd9c5564 Add test for sequence only
Signed-off-by: Derek Collison <derek@nats.io>
2021-06-20 10:42:35 -07:00
Derek Collison
89d930fd0f Updates and fixes to PurgeEx
Signed-off-by: Derek Collison <derek@nats.io>
2021-06-20 10:34:27 -07:00
Derek Collison
9398c3ca28 Allow for more advanced purge operations that filter by subject, specify the sequence or number of messages to keep.
Signed-off-by: Derek Collison <derek@nats.io>
2021-06-19 07:04:44 -07:00
Derek Collison
08cdb2d2ea Make filtered consumers in large mixed streams more efficient.
Allow wider scoped filtered subjects.

We introduce a per subject information tracking to filestore to optimize for large mux'd streams and more efficient filtered consumers.

Signed-off-by: Derek Collison <derek@nats.io>
2021-06-15 04:44:05 -07:00
Derek Collison
ceebc3ae07 When checking limits we would check total ask against the server limits if limits were not set.
We were also dynamically setting account limits based on a single server limit.

Signed-off-by: Derek Collison <derek@nats.io>
2021-06-12 10:27:43 -07:00
Derek Collison
4912c8b8f7 Make sure leader ready
Signed-off-by: Derek Collison <derek@nats.io>
2021-06-10 21:29:03 -07:00
Derek Collison
326a377b3e When leader changes happened to streams that mirrored or sourced other streams we could continue to try to create consumers.
This could get excessive on a stream that has sourced many upstream origin streams and had several leader changes.

Signed-off-by: Derek Collison <derek@nats.io>
2021-06-10 19:47:46 -07:00
Derek Collison
1270977322 When receiving a response across a gateway that has headers and a globally routed subject (_GR_) we were dropping header information.
Signed-off-by: Derek Collison <derek@nats.io>
2021-06-10 14:29:33 -07:00
Derek Collison
cc63915f54 Added active servers to statsz.
This is generally useful but will also help with cli actions since we know from first response how many total responses are expected.

Signed-off-by: Derek Collison <derek@nats.io>
2021-06-09 19:14:37 -07:00
Derek Collison
e238512285 Handling of rewrites for subjects to a globally routed subject was not properly handling c.pa.deliver or reply rewrite.
Signed-off-by: Derek Collison <derek@nats.io>
2021-06-09 15:34:47 -07:00
Derek Collison
30fae4f960 Changes to leafnodes to support multiple domains where the hub is JetStream enabled but the hub account is not, and the leafnode is.
We were incorrectly shutting things down via deny clauses when detecting the remote side/hub had JetStream capabilities.
This change moves that logic to the remote side and is signalled off the connect message which let's the remote side know
if the local leafnode account has JetStream enabled.

Signed-off-by: Derek Collison <derek@nats.io>
2021-06-07 08:39:11 -07:00
R.I.Pienaar
0d391b02eb richer api errors proposal
Signed-off-by: R.I.Pienaar <rip@devco.net>
2021-05-26 08:04:50 +02:00
Derek Collison
0d6b022780 Fix for varz JetStream usage showing total account usage vs server usage.
Signed-off-by: Derek Collison <derek@nats.io>
2021-05-24 14:05:42 -07:00
Derek Collison
8888ab51f4 Fix for #2243. We were not allowing replicated acks processing for workqueues properly, only interest retention.
Signed-off-by: Derek Collison <derek@nats.io>
2021-05-24 09:53:31 -07:00
Derek Collison
8f2457fd30 Merge branch 'master' into msgid 2021-05-24 09:22:35 -07:00
Derek Collison
308355a2fd Fix for #2242.
When we had a duplicate detected in R>1 mode we set the skip sequence indicator but were not using that when dealing with underlying store.

Signed-off-by: Derek Collison <derek@nats.io>
2021-05-24 08:21:41 -07:00
Derek Collison
a52697170c Fix for corrupting a message when extending an existing header.
We had a report of corrupt message payloads when going across leafnodes between streams that were sourced from one another.
We were incorrectly using the underlying buffer when a header already existed.

Signed-off-by: Derek Collison <derek@nats.io>
2021-05-23 11:28:48 -07:00
Derek Collison
7936faf00e Merge pull request #2230 from nats-io/mapped
Mapped cross account test
2021-05-20 11:32:33 -07:00
Derek Collison
a14f07f86c Fix flapping test
Signed-off-by: Derek Collison <derek@nats.io>
2021-05-19 19:09:49 -07:00
Derek Collison
9ccc843382 Removing peers should wait for RemovePeer entry replication.
Signed-off-by: Derek Collison <derek@nats.io>
2021-05-19 18:58:19 -07:00