Commit Graph

3503 Commits

Author SHA1 Message Date
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
Matthias Hanel
3fa7adbc43 Merge pull request #2779 from nats-io/max-bytes
[Adding] support for JS MaxBytesRequired
2022-01-12 23:31:42 -05:00
Derek Collison
420a2ef514 When rebuilding the complete state need to do this in a go routine.
We did this properly above but forgot this one.

Signed-off-by: Derek Collison <derek@nats.io>
2022-01-12 20:19:45 -08:00