Commit Graph

4002 Commits

Author SHA1 Message Date
Matthias Hanel
fdcebf5c3a Increasing unit test timeout for waitOnStreamCurrent from 10 to 30 sec
Signed-off-by: Matthias Hanel <mh@synadia.com>
2021-03-08 19:17:36 -05:00
Ivan Kozlovic
4d1fc3a449 Merge pull request #1974 from nats-io/pae
Memory cache for commits and WAL size constraints.
2021-03-08 16:43:20 -07:00
Ivan Kozlovic
57af977548 Stabilized stream sources under restart
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2021-03-08 16:41:02 -07:00
Derek Collison
513cb061e3 Bump Version 2021-03-08 15:43:15 -06:00
Derek Collison
467614ea87 Make sure to check for old messages during processsing.
Also changed the way we detect old messages.

Signed-off-by: Derek Collison <derek@nats.io>
2021-03-08 15:42:03 -06:00
Derek Collison
673543c180 Modified flow control for clustered mode.
Set channels into and out of RAFT layers to block.

Signed-off-by: Derek Collison <derek@nats.io>
2021-03-08 12:58:57 -06:00
Waldemar Quevedo
4421aa751a Merge pull request #1969 from nats-io/msg-parts
Fix check from next request msg
2021-03-08 08:36:12 -08:00
Waldemar Quevedo
278c0efc8a Fix check from next request msg
Signed-off-by: Waldemar Quevedo <wally@synadia.com>
2021-03-07 00:12:31 -08:00
Derek Collison
c22627d4c1 Make sure to look in the WAL if not found in pae
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-06 18:01:00 -06:00
Waldemar Quevedo
9a615500c7 Merge pull request #1973 from nats-io/term-shutdown-ldm
Skip TERM signal during lame duck mode
2021-03-06 13:31:27 -08:00
Derek Collison
5fe9ba5e94 Switched to fast state
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-06 09:00:15 -08:00
Derek Collison
31df41700b Protect against divzero
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-06 08:54:19 -08:00
Derek Collison
d31fda5dac Added code to constrain size of WAL under most scenarios.
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-06 08:38:56 -08:00
Derek Collison
63b620972d Under heavy load retreiving the append entry from the WAL
while trying to also send new append entries was causing contention.

Signed-off-by: Derek Collison <derek@nats.io>
2021-03-06 07:50:11 -08:00
Waldemar Quevedo
4448989091 Skip TERM signal during lame duck mode
Signed-off-by: Waldemar Quevedo <wally@synadia.com>
2021-03-06 00:16:58 -08:00
Derek Collison
6d9cb21648 Merge pull request #1972 from nats-io/change_cons_snapshot
monitorConsumer perform snapshot similar to monitorStream
2021-03-05 21:47:15 -07:00
Ivan Kozlovic
4e3b79f62b monitorConsumer perform snapshot similar to monitorStream
Changed the stream min size default value back to 32MB and removed
the one for consumer since we don't use it anymore but set the
count size same than for stream (8192).

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2021-03-05 19:02:41 -07:00
Ivan Kozlovic
9b80d55fad Merge pull request #1971 from nats-io/mirror_redux
Rework Mirrors and Sources
2021-03-05 18:46:56 -07:00
Derek Collison
0b3c686430 Fixes for data races and some locking.
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-05 17:19:51 -08:00
Derek Collison
ff98984358 Reworked internal consumers used for sources and mirrors.
Now use ephemerals and heartbeats and flowcontrol.

Signed-off-by: Derek Collison <derek@nats.io>
2021-03-05 14:32:57 -08:00
Derek Collison
dd8acb1a99 Fixed a bug where we were not determing clustered state so were straight processing msgs from routes.
Cleaned up lseq and clseq code.

Signed-off-by: Derek Collison <derek@nats.io>
2021-03-05 12:00:19 -08:00
Derek Collison
34f6674877 Merge pull request #1966 from nats-io/cfc
Enable opt-in flow control for push based consumers.
2021-03-05 10:27:13 -07:00
Derek Collison
9813ae3f79 Most tooling, Docker and Kubernetes send SIGTERM, so do graceful shutdown on the signal.
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-05 09:21:01 -08:00
Derek Collison
507eb25dc1 Fix for not placing checksum back properly on manual check restore
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-05 09:18:20 -08:00
Derek Collison
75b0455e0b Enable opt-in flow control for push based consumers.
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-05 08:48:12 -08:00
Derek Collison
733946946f Merge pull request #1965 from nats-io/idlehb
Push consumer idle heartbeats
2021-03-05 07:00:07 -07:00
Derek Collison
955594ce9d Use code 100 instead
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-05 05:57:50 -08:00
Derek Collison
7e2b2a1033 Allow an option to push based consumers to have idle heartbeats delivered.
This allows an endpoint to know the consumer is still alive.

Signed-off-by: Derek Collison <derek@nats.io>
2021-03-05 05:48:00 -08:00
Derek Collison
ca536e1b28 Merge pull request #1964 from nats-io/rc5
Raft changes and inbound stream msgs out of fastpath for non-clients.
2021-03-04 20:47:44 -07:00
Derek Collison
4bfd6485f6 Can't remove based on interest directly
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-04 19:11:24 -08:00
Derek Collison
7b1b9a7946 Snapshot on peer state change, e.g. removal
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-04 18:52:57 -08:00
Derek Collison
038a5cadc4 LQ is longer now
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-04 18:39:32 -08:00
Derek Collison
4cdfb0ab6e Don't need to release locks now with outq. Also borrow once
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-04 17:58:01 -08:00
Derek Collison
207ebd3b3d Changed stream sendq to linked list outq.
Made consumer share streams outq.

Signed-off-by: Derek Collison <derek@nats.io>
2021-03-04 17:19:50 -08:00
Derek Collison
e70e46ea4a Updates based on PR feedback
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-04 16:16:28 -08:00
Derek Collison
051d0159ef rc5
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-04 14:46:59 -08:00
Derek Collison
bfb8e3432e Move RAFT comms off internal sendq.
Move route and gateway msgs our of fast path for inbound stream msgs.

Signed-off-by: Derek Collison <derek@nats.io>
2021-03-04 14:45:34 -08:00
Derek Collison
8278641a4b Merge pull request #1962 from nats-io/werr
Various bug fixes and improvements to out of disk handling.
2021-03-04 10:54:10 -07:00
Derek Collison
e523e8f8de Fix based on feedback
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-04 09:37:09 -08:00
Derek Collison
051a5c4095 Tweaks to flaky test
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-03 21:11:14 -08:00
Derek Collison
d7201a110b Better handling on out of disk.
Suppress some stream and consumer bad results since they delete the asset.
Allow rehup to re-enable JetStream.
Various bug fixes and improvements.

Signed-off-by: Derek Collison <derek@nats.io>
2021-03-03 20:12:10 -08:00
Derek Collison
18ee2b7a40 Changes to handle short writes. Bug fixes to truncation.
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-03 20:07:39 -08:00
Derek Collison
86d12b903d Fixed leaking info sub
Signed-off-by: Derek Collison <derek@nats.io>
2021-03-03 20:06:35 -08:00
Derek Collison
1b8fa93b18 Merge pull request #1961 from nats-io/js_gw_interest_only_mode
Switch Gateway JS accounts to interest-only mode + some other fixes
2021-03-03 19:53:29 -07:00
Ivan Kozlovic
e7e756034a Switch Gateway JS accounts to interest-only mode + some other fixes
- Fixed the close of a TLS connection which starting Go 1.16
set the deadline to 5 seconds.

- Fixed an issue with setHeader that was causing these error messages
```
=== RUN   TestServiceImportReplyMatchCycleMultiHops
nats: message could not decode headers on connection [4] for subscription on "foo"
--- PASS: TestServiceImportReplyMatchCycleMultiHops (0.04s)
```

- Fixed names of tests in norace_test.go since they must start with
TestNoRace in order to make sure that we execute them in Travis:
```
go test -v -run=TestNoRace --failfast -p=1 ./...
```

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2021-03-03 19:15:28 -07:00
Derek Collison
f82ba22be2 Merge pull request #1960 from nats-io/update-sys-acc-js
[Fixed] missing export jsAllApi on system account update
2021-03-03 16:06:35 -07:00
Ivan Kozlovic
9ae189e30b Merge pull request #1959 from nats-io/fix_nodeinfo_race
Fixed data race with nodeInfo
2021-03-03 16:05:53 -07:00
Matthias Hanel
2187c0d2ae [Fixed] missing export jsAllApi on system account update
Signed-off-by: Matthias Hanel <mh@synadia.com>
2021-03-03 16:01:22 -05:00
Ivan Kozlovic
0f53bf6580 Fixed data race with nodeInfo
Took the approach of storing struct instead of pointer. Of course,
when changing the offline bool from false to true, it means that
we need to call Store again (with same key).

This is based on the assumption that those Load/Store are not too
frequent. Otherwise, we may need to use locking (and keep *nodeInfo)

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2021-03-03 13:28:45 -07:00
Derek Collison
b6c52693f3 Merge pull request #1956 from nats-io/consumer
Consumer Updates.
2021-03-03 10:29:48 -07:00