Commit Graph

3505 Commits

Author SHA1 Message Date
Matthias Hanel
274ec6db65 incorporate comments
Signed-off-by: Matthias Hanel <mh@synadia.com>
2022-01-25 14:53:03 -05:00
Matthias Hanel
fa12d096cd Fix jwt based user/activation token revocation and revocation granularity
user and activation token did not honor the jwt value for all * on
connect.

activation token where not re evaluated when the export revoked a key.
In part this is a consistency measure so servers that already have an
account and servers that don't behave the same way.

in jwt activation token revocations are stored per export.
The server stored them per account, thus effectively merging
revocations. Now they are stored per export inside the server too.

fixes nats-io/nsc/issues/442

Signed-off-by: Matthias Hanel <mh@synadia.com>
2022-01-25 13:48:12 -05:00
Derek Collison
6be9925127 Update config error
Signed-off-by: Derek Collison <derek@nats.io>
2022-01-24 15:02:41 -08:00
Derek Collison
65b168aa8b Updates based on feedback. MaxDeliver needs to be set properly now to be > len(BackOff) but if larger we will reuse last value in BackOff array.
Signed-off-by: Derek Collison <derek@nats.io>
2022-01-24 15:02:39 -08:00
Derek Collison
bd78b1a99b Formal json version for NAK delay
Signed-off-by: Derek Collison <derek@nats.io>
2022-01-24 15:01:52 -08:00
Derek Collison
d486c24199 Allow a consumer to be configured with BackOffs.
This allows a consumer to have exponential backoffs vs static AckWait and MaxDeliver.
When BackOff is set it will overridde AckWait to BackOff[0] and MaxDeliver will be len(BackOff)+1.

Signed-off-by: Derek Collison <derek@nats.io>
2022-01-24 14:57:36 -08:00
Derek Collison
579bf336ad Allow NAK to take a delay parameter to delay redelivery for a certain amount of time.
Signed-off-by: Derek Collison <derek@nats.io>
2022-01-24 14:57:28 -08:00
Derek Collison
89435d50b2 Merge pull request #2813 from nats-io/pull_consumer_2
Updates to Pull Consumers
2022-01-24 13:52:16 -08:00
Derek Collison
d332684322 Fixed data race and fuxed bug that we would not clear our waiting queue when a leader stepped down.
Signed-off-by: Derek Collison <derek@nats.io>
2022-01-24 13:01:25 -08:00
Derek Collison
35e8c57f06 Merge pull request #2814 from nats-io/neg_deleted
If we detect negative deleted, adjust to 0.
2022-01-24 11:52:58 -08:00
Ivan Kozlovic
dc3972304d Merge pull request #2791 from mattstep/mattstep/replication-lag-metrics
[ADDED] Replication lag to stream monitoring
2022-01-24 12:07:06 -07:00
Derek Collison
d07000cde0 If we detect negative deleted, adjust
Signed-off-by: Derek Collison <derek@nats.io>
2022-01-24 10:52:46 -08:00
Derek Collison
6fd41e5ea4 Updates based on review feedback
Signed-off-by: Derek Collison <derek@nats.io>
2022-01-24 10:23:47 -08:00
Derek Collison
d962500827 Track reply subjects for pending pull requests across clustered consumers.
We will only send if all peers in our group are >= 2.7.1 and we will check for updates.
When a consumer follower takes over it will notify all pending requests that those requests are invalid now.

Signed-off-by: Derek Collison <derek@nats.io>
2022-01-21 16:31:59 -08:00
Matt Stephenson
59cc0f0015 Add source and mirror info to stream monitoring 2022-01-21 12:44:42 -08:00
Derek Collison
ecd0d8eaff Reset authSet state
Signed-off-by: Derek Collison <derek@nats.io>
2022-01-21 11:03:19 -08:00
Derek Collison
ae43b24be4 Fixed #2810. Do not warn about password for internally generated no auth user when just system account assigned to non-default.
Signed-off-by: Derek Collison <derek@nats.io>
2022-01-21 10:09:10 -08:00
Derek Collison
dcadf6643a When no_auth_user is set, do not require a CONNECT proto.
Signed-off-by: Derek Collison <derek@nats.io>
2022-01-21 09:41:45 -08:00
Derek Collison
7f572983ac The 2.7 update broke the one-shot pull consumer fetch behavior due to change and a fix to a bug that allowed it to work before.
This change tries to lock down all expected behaviors, and now does out of order timeouts for requests.

Signed-off-by: Derek Collison <derek@nats.io>
2022-01-20 18:06:29 -08:00
Ivan Kozlovic
7aba8a8e9e Bump version to v2.7.1-beta02
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2022-01-20 16:32:30 -07:00
Jaime Piña
c82b583d7a Fix race condition in HTTP monitoring shutdown (#2805) 2022-01-20 15:29:17 -08:00
Ivan Kozlovic
f6acc9d28b [FIXED] Possible deadlock
This is due to a re-entrant RLock(). It works sometimes, but if there
is a go routine requesting the write lock, then the second RLock()
will not be granted which will lead to a deadlock.
In summary: one should never make re-entrant RLock calls.

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2022-01-20 13:53:52 -07:00
Ivan Kozlovic
c76bf81267 Fixed goreleaser ldflags
Since we moved to go modules, the path must include the `/v2`.

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2022-01-13 19:02:41 -07:00
Ivan Kozlovic
f1d2f7c797 Release v2.7.0
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2022-01-13 17:11:02 -07:00
Ivan Kozlovic
70b1f5c950 Fix goreleaser script invocation - bump to rc2
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2022-01-13 16:58:19 -07:00
Ivan Kozlovic
59eef192cd Prepare for release v2.7.0, start with v2.7.0-rc1
Since we have never released with goreleaser and GO111MODULE=on
and have removed vendor directory, we are going to push a
v2.7.0-rc1 tag. If the goreleaser process works fine and submit
the draft release correctly, we will not do an actual v2.7.0-rc1
release. Instead, we will follow up immediately with the v2.7.0
tag and the proper release.

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2022-01-13 16:15:51 -07:00
Ivan Kozlovic
84f6cbb760 Pooling pubMsg and jsPubMsg objects
This should help with GC pressure, however, it may have an effect
on performance (based on some benchmark). Calling sync.Pool.Get/Put
too often has a performance impact...

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2022-01-13 13:14:25 -07:00
Ivan Kozlovic
3ce22adb76 Fixed some tests
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2022-01-13 13:14:05 -07:00
Ivan Kozlovic
29c40c874c Adding logger for IPQueue
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2022-01-13 13:14:00 -07:00
Ivan Kozlovic
48fd559bfc Reworked RAFT's leader change channel
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2022-01-13 13:12:11 -07:00
Ivan Kozlovic
fc7a4047a5 Renamed variables, removing the "c" that indicated it was a channel 2022-01-13 13:11:05 -07:00
Ivan Kozlovic
62a07adeb9 Replaced catchup and stream restore channels
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2022-01-13 13:09:49 -07:00
Ivan Kozlovic
645a9a14b7 Replaced RAFT's stepdown channel
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2022-01-13 13:09:01 -07:00
Ivan Kozlovic
2ad95f7e52 Replaced RAFT's vote request and response channels
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2022-01-13 13:08:05 -07:00
Ivan Kozlovic
d74dba2df9 Replaced RAFT's append entry response channel
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2022-01-13 13:06:48 -07:00
Ivan Kozlovic
b5979294db Replaced RAFT's append entry channel
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2022-01-13 13:06:29 -07:00
Ivan Kozlovic
ceb06d6a13 Replaced RAFT's apply channel
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2022-01-13 13:06:10 -07:00
Ivan Kozlovic
05c033c46c Replaced stream's inbound list
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2022-01-13 13:05:51 -07:00
Ivan Kozlovic
23ebf9d2f8 Adapted jsOutQ
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2022-01-13 13:05:27 -07:00
Ivan Kozlovic
2ca025b33d Adapted system sendq
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2022-01-13 13:05:07 -07:00
Ivan Kozlovic
b44e9e01b6 Replaced MQTT's send queue
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2022-01-13 13:03:53 -07:00
Ivan Kozlovic
92e8997506 Replaced system event queue
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2022-01-13 13:03:33 -07:00
Ivan Kozlovic
c377a997e4 Replaced ackMsgQueue
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2022-01-13 13:03:26 -07:00
Ivan Kozlovic
a890c4692d Added intra-process queue to exchange objects instead of channels
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2022-01-13 13:03:20 -07:00
Derek Collison
7dc99c3840 Merge from main
Signed-off-by: Derek Collison <derek@nats.io>
2022-01-13 10:01:33 -08:00
Ivan Kozlovic
c9c603b7a0 Merge pull request #2573 from julius-welink/implement-rate-limiting
[ADDED] TLS connection rate limiter
2022-01-13 10:35:19 -07:00
Derek Collison
6619e7f13d Merge branch 'main' into pull-consumer 2022-01-13 09:14:33 -08:00
Derek Collison
165895906b Merge pull request #2781 from nats-io/rebuild-deadlock
When rebuilding the complete filestore state we need to do this in a go routine.
2022-01-13 08:05:56 -08:00
Waldemar Quevedo
0885ba247f Merge pull request #2782 from nats-io/js-and-monitoring
Start monitoring before JetStream during startup.
2022-01-13 07:13:39 -08:00
Waldemar Quevedo
ce4e4b5d47 Start monitoring before JetStream
Signed-off-by: Waldemar Quevedo <wally@synadia.com>
2022-01-12 21:38:22 -08:00