Commit Graph

3699 Commits

Author SHA1 Message Date
Ivan Kozlovic
ea68afe5e2 Bump version to beta.66
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2021-02-01 13:53:46 -07:00
Ivan Kozlovic
c9c9bee35e Merge pull request #1873 from nats-io/fix_websocket_compression
Fixed compression http header request/response
2021-02-01 13:51:43 -07:00
Ivan Kozlovic
ac0a1ee8fd Fixed compression http header request/response
The issue was introduced by PR #1858.

Key points:

- Sec-WebSocket-Extensions must contain approved headers, so moving
the "no-masking" private extension to its own header "Nats-No-Masking".

- The format of the permessage-deflate negotiation response became
invalid, I have fixed that.

- For leaf nodes, if `permessage-deflate` extension is not at all
present in the response, then simply disable compression, however
if it is present but there is no server/client no context take over,
then we have to fail the connection.

- A leafnode test was not setting the "NoMasking" option so the
test TestLeafNodeWSNoMaskingRejected was not capturing possible
error if negotiation failed.

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2021-02-01 12:10:37 -07:00
Matthias Hanel
ffc20e950b [removed] activation token download (#1867)
Signed-off-by: Matthias Hanel <mh@synadia.com>
2021-02-01 12:30:47 -05:00
Derek Collison
50d6074cfa Merge pull request #1871 from nats-io/jsc-audit
Make sure to suppress duplicate create/delete audit events
2021-01-31 10:17:33 -07:00
Derek Collison
095a83bc2a Make sure to suppress duplicate create/delete audit events
Signed-off-by: Derek Collison <derek@nats.io>
2021-01-31 09:16:16 -08:00
Derek Collison
230c17ee48 Bumped Beta version
Signed-off-by: Derek Collison <derek@nats.io>
2021-01-30 17:24:52 -08:00
Derek Collison
2b0717bde2 Make debug not error since we recover
Signed-off-by: Derek Collison <derek@nats.io>
2021-01-30 14:00:26 -08:00
Derek Collison
c116e966e6 Merge pull request #1870 from nats-io/raft_inline_catchup
Fixed bug on raft inline catchup when apply channel was full.
2021-01-30 14:33:08 -07:00
Derek Collison
9b20d5c888 Fixed bug on raft inline cacthup when apply channel was full.
Signed-off-by: Derek Collison <derek@nats.io>
2021-01-30 13:22:27 -08:00
Derek Collison
be393995a4 Bumped Beta Version
Signed-off-by: Derek Collison <derek@nats.io>
2021-01-29 19:40:15 -08:00
Derek Collison
cbfe34ff2b Merge pull request #1869 from nats-io/dupe-delivery
[FIXED] Bug on single replica restore would deliver duplicate messages.
2021-01-29 20:38:39 -07:00
Derek Collison
5490c4969b Fixed a bug that on restore of single streams in clustered mode would subscribe to the stream subjects twice.
Signed-off-by: Derek Collison <derek@nats.io>
2021-01-29 19:37:30 -08:00
Derek Collison
36c4de874a Merge pull request #1868 from nats-io/js-breaks-imports-fix
[FIXED] Fix for #1864
2021-01-29 19:15:32 -07:00
Derek Collison
302ea010b7 Fix for data race
Signed-off-by: Derek Collison <derek@nats.io>
2021-01-29 18:12:57 -08:00
Derek Collison
e763d90496 Merge pull request #1861 from nats-io/js-list-request-fix
js: consumer list request fix
2021-01-29 19:00:34 -07:00
Derek Collison
8bd290c77a Fix for #1864.
When trying to make sure we properly created all subs for service imports we would check the internal client to see if we should process.
With JS enabled on the server we would place system imports that would break that check and orphan other service imports.

Signed-off-by: Derek Collison <derek@nats.io>
2021-01-29 17:51:14 -08:00
Derek Collison
51c7582d74 Merge pull request #1866 from nats-io/no-adv-restore
Suppress additional advisories on server restart and leadership changes.
2021-01-29 16:25:16 -07:00
Derek Collison
457ca3b9cf Suppress additional advisories on server restart and leadership changes.
Signed-off-by: Derek Collison <derek@nats.io>
2021-01-29 15:08:22 -08:00
Matthias Hanel
2761bbf29a added test demonstrating how js breaks imports
Signed-off-by: Matthias Hanel <mh@synadia.com>
2021-01-29 14:29:04 -05:00
Ivan Kozlovic
e8fd49edb8 Bump version to beta.60
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2021-01-29 11:55:36 -07:00
Ivan Kozlovic
a0fb39fb7e Merge pull request #1862 from nats-io/varz-jwt
[added] field to varz output containing the operator jwt
2021-01-29 11:53:20 -07:00
Ivan Kozlovic
06c63b5f57 Merge pull request #1858 from nats-io/ln_ws
[ADDED] Websocket for Leaf Node connections
2021-01-29 11:35:26 -07:00
Matthias Hanel
f487429d9e incorporated comments
Signed-off-by: Matthias Hanel <mh@synadia.com>
2021-01-29 13:25:02 -05:00
Ivan Kozlovic
9587bf8cd4 Changed option to make masking the default and option to disable it
This will allow a better experience if there is a load balancer
in between and expects websocket frames to be masked.

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2021-01-29 11:22:22 -07:00
Derek Collison
3c49f087a0 Merge pull request #1859 from nats-io/jsc_ai
Extended AccountInfo to track API calls and errors.
2021-01-29 10:44:42 -07:00
Derek Collison
db44537087 Merge pull request #1863 from nats-io/adv
Updates to leader elect and lost quorum advisories and log entries.
2021-01-29 10:43:38 -07:00
Derek Collison
c889321a83 Change to API.Total and API.Errors
Signed-off-by: Derek Collison <derek@nats.io>
2021-01-29 09:42:20 -08:00
Matthias Hanel
2a34f0daee [added] field to varz output containing the operator jwt/claim
Signed-off-by: Matthias Hanel <mh@synadia.com>
2021-01-29 12:32:40 -05:00
Derek Collison
d2a92221fb Duplicate leader elect and lost advisories to the system account as well.
Also suppress lost quorums to at most once every 10 secs.

Signed-off-by: Derek Collison <derek@nats.io>
2021-01-29 08:51:20 -08:00
Derek Collison
0a3124e27d Track API calls per account. Track success and errors.
These tracking data are ephemeral per server. so on restart they reset.
That should be ok since these will most likely be used more for rates.

Signed-off-by: Derek Collison <derek@nats.io>
2021-01-28 17:16:50 -08:00
Ivan Kozlovic
4575d3620d Merge pull request #1860 from nats-io/fix_invalid_subject_match
[FIXED] Return no match result if subject contains empty token
2021-01-28 18:08:09 -07:00
Ivan Kozlovic
e0487b95cc [FIXED] Return no match result if subject contains empty token
A subject such as `foo..bar` is invalid, but if it is published
from a connection that has disabled pedantic, then the message
is matched against subscriptions and will be delivered.

This change causes Sublist.Match() to return no result.

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2021-01-28 17:43:22 -07:00
Waldemar Quevedo
fccdb8caa2 js: consumer list request fix
Signed-off-by: Waldemar Quevedo <wally@synadia.com>
2021-01-28 16:17:01 -08:00
Derek Collison
6480a45fc4 Fix for data race, don't need to check here
Signed-off-by: Derek Collison <derek@nats.io>
2021-01-28 13:20:15 -08:00
Ivan Kozlovic
2b8c6e0124 Support for Websocket Leafnode connections
Added two options in the remote leaf node configuration

- compress, for websocket only at the moment
- ws_masking, to force remote leafnode connections to mask websocket
frames (default is no masking since it is communication between
server to server)

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2021-01-28 13:13:11 -07:00
Ivan Kozlovic
131be1cb33 Make TLS client/server handshake helpers function
This reduces code duplication

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2021-01-28 13:13:11 -07:00
Matthias Hanel
c9e0eb6c3a [added] cluster/gateway/leafnode tls required/verify/timeout to varz (#1854)
Signed-off-by: Matthias Hanel <mh@synadia.com>
2021-01-28 14:08:58 -05:00
Derek Collison
7d21488cf7 Merge pull request #1857 from nats-io/rp
Add in leader elected and lost quorum advisories.
2021-01-28 11:20:51 -07:00
Derek Collison
67dc580a39 Removed stream state for advisories
Signed-off-by: Derek Collison <derek@nats.io>
2021-01-28 09:52:56 -08:00
Derek Collison
9d4951d2bb Updated lost quorum signalling to be less fragile.
We will now alert when the old leader detects a lost quorum just as before, but also detect if a candidate is flapping and failing to get votes because of no quorum.

Signed-off-by: Derek Collison <derek@nats.io>
2021-01-28 09:27:17 -08:00
Derek Collison
8b79114168 Add in advisories for leader elected and quorum lost advisories.
Note that quorum lost only fires if the old leader steps down.
If the leader itself fails and that causes the loss of quorum currently no advisory is sent.

Signed-off-by: Derek Collison <derek@nats.io>
2021-01-28 08:37:54 -08:00
Derek Collison
ab5f98c7b4 Help with flappers
Signed-off-by: Derek Collison <derek@nats.io>
2021-01-28 05:23:51 -08:00
Derek Collison
76fdaea7ad Merge pull request #1856 from nats-io/fix
Fix for broken stream restore functionality
2021-01-27 18:55:21 -07:00
Derek Collison
6d27307453 Fix for broken stream restore functionality
Signed-off-by: Derek Collison <derek@nats.io>
2021-01-27 17:44:42 -08:00
Derek Collison
4f62724fcd Bumped Beta Version
Signed-off-by: Derek Collison <derek@nats.io>
2021-01-27 16:27:23 -08:00
Derek Collison
ab1245ba0b Merge pull request #1855 from nats-io/memstore
[FIXED] Fixed bug to allow memory store for clustering
2021-01-27 17:26:41 -07:00
Derek Collison
132a4e7f7d Allow memory store for clustering
Signed-off-by: Derek Collison <derek@nats.io>
2021-01-27 15:54:39 -08:00
Derek Collison
0377caf8ec Merge pull request #1853 from nats-io/rfix
Added in raft quorum tracking and stepdown and API responses.
2021-01-27 15:41:57 -07:00
Derek Collison
a9b8948abe Add in tracking for quorum in raft and do auto stepdown.
Also added in API responses when no leader is present for meta, streams and consumers.

Signed-off-by: Derek Collison <derek@nats.io>
2021-01-27 13:34:00 -08:00