Commit Graph

2319 Commits

Author SHA1 Message Date
Ivan Kozlovic
8af8cf4e67 Remap subject only for service imports
Also optimized a test that was taking too long to run.

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2021-02-08 14:41:33 -07:00
Jaime Piña
71b842520b Prevent non-exported messages from leaking into importer account (#1891)
* Add account isolation tests config & jwt

* Set the shadow subscription static subject
2021-02-08 14:07:18 -05:00
Derek Collison
b25055bbf6 Added leader only response for jsz.
Signed-off-by: Derek Collison <derek@nats.io>
2021-02-08 10:40:33 -08:00
Derek Collison
d4cc658c35 Bump version [ci skip]
Signed-off-by: Derek Collison <derek@nats.io>
2021-02-08 07:43:14 -08:00
Derek Collison
c99608fa65 Fix for some test flappers
Signed-off-by: Derek Collison <derek@nats.io>
2021-02-08 07:00:52 -08:00
Derek Collison
7ae8d66c6d Do ramp down on server stats on startup
Signed-off-by: Derek Collison <derek@nats.io>
2021-02-08 06:46:57 -08:00
Derek Collison
594defa11b Fix for crash in test
Signed-off-by: Derek Collison <derek@nats.io>
2021-02-08 06:32:05 -08:00
Derek Collison
15355d783b For larger superclusters we send out our server information after a short delay on startup.
For determing leaderless make sure the raft node has been running for long enough.

Signed-off-by: Derek Collison <derek@nats.io>
2021-02-08 06:26:33 -08:00
Derek Collison
c16f6e193d Move JetStream direct APIs to private.
Signed-off-by: Derek Collison <derek@nats.io>
2021-02-07 15:19:22 -08:00
Derek Collison
42e3210265 Shutdown JetStream on failed stream msg store in clustered mode
Signed-off-by: Derek Collison <derek@nats.io>
2021-02-07 11:52:52 -08:00
Ivan Kozlovic
d732c8fe82 Fixed bug that would prevent queue subs to ack messages
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2021-02-07 11:26:54 -07:00
Derek Collison
92d64c2bcc Reset WAL on mismatch catchup regardless, condition ok
Signed-off-by: Derek Collison <derek@nats.io>
2021-02-07 09:30:13 -08:00
Derek Collison
a16affedca Always reset election timeout on vote request
Signed-off-by: Derek Collison <derek@nats.io>
2021-02-07 08:09:01 -08:00
Derek Collison
f209c60123 Send our own serverinfo when we receive an update from a new server
Signed-off-by: Derek Collison <derek@nats.io>
2021-02-07 06:53:07 -08:00
Derek Collison
c11a733502 Broken test for non MarshalIndent
Signed-off-by: Derek Collison <derek@nats.io>
2021-02-07 05:08:22 -08:00
Derek Collison
74a4c531c9 Stability improvements.
Changes to catchup logic, peer tracking, and vote responses.

Signed-off-by: Derek Collison <derek@nats.io>
2021-02-06 20:13:18 -08:00
Derek Collison
716da693e4 Track peers differently, react to removal entries
Signed-off-by: Derek Collison <derek@nats.io>
2021-02-06 20:11:30 -08:00
Derek Collison
1c79d96de8 user single node info struct
Signed-off-by: Derek Collison <derek@nats.io>
2021-02-06 20:10:29 -08:00
Derek Collison
6d32c307ef Remove pretty indent for json.
Signed-off-by: Derek Collison <derek@nats.io>
2021-02-06 20:09:44 -08:00
Derek Collison
b358773ddf Force filestore to flush in place by default.
Track lost data and truncate message blocks when detecting failures or write errors.

Signed-off-by: Derek Collison <derek@nats.io>
2021-02-06 20:04:47 -08:00
Derek Collison
1622c2b60e Send serverInfo on remote shutdown and remove mapping entries
Signed-off-by: Derek Collison <derek@nats.io>
2021-02-05 17:21:55 -08:00
Matthias Hanel
7b7543d298 [added] jsz nats and http monitoring endpoint for jetstream (#1881)
The new endpoints are /jsz on http and "$SYS.REQ.SERVER.PING.JSZ" and "$SYS.REQ.SERVER.%s.JSZ".
$SYS.REQ.ACCOUNT.%s.JSZ will only return info for the particular account

Signed-off-by: Matthias Hanel <mh@synadia.com>
2021-02-05 18:46:04 -05:00
Derek Collison
f500527d12 Make peer reassigment supercluster aware.
Signed-off-by: Derek Collison <derek@nats.io>
2021-02-05 07:21:00 -08:00
Derek Collison
78f549b35b Make direct message retrieval from stream cluster aware
Signed-off-by: Derek Collison <derek@nats.io>
2021-02-05 06:37:49 -08:00
Derek Collison
493425e8b2 Noticed stream snapshots were being processed on recovery causing high cpu usage and memory usage.
Also made consumer Created() UTC.

Signed-off-by: Derek Collison <derek@nats.io>
2021-02-04 12:29:07 -08:00
Derek Collison
74b1e1f72c Change the way we decide to compact on purge op replay
Signed-off-by: Derek Collison <derek@nats.io>
2021-02-04 09:45:51 -08:00
Derek Collison
483b07a794 Make sure old purge did what it was supposed to
Signed-off-by: Derek Collison <derek@nats.io>
2021-02-04 07:49:30 -08:00
Derek Collison
c49e3247bb Purge operations would be replayed on restart regardless if they had already been processed.
Signed-off-by: Derek Collison <derek@nats.io>
2021-02-04 07:04:50 -08:00
Derek Collison
d71c845a92 Bump Version [ci skip]
Signed-off-by: Derek Collison <derek@nats.io>
2021-02-03 20:14:13 -08:00
Ivan Kozlovic
6eeb9d2361 Fixed some issues with JS consumers
- Should check if there is interest at top of deleteNotActive timer
callback.
- Use RLock/RUnlock for no interest check
- Remove some checks in cluster mode regarding internal stream/consumers

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2021-02-03 20:12:06 -07:00
Derek Collison
01ad02ccae Merge pull request #1883 from nats-io/supercluster
First pass at supercluster enablement.
2021-02-03 19:56:36 -07:00
Derek Collison
a1e0f7dc1a First pass at supercluster enablement.
This allows metacontrollers to span superclusters. Also includes placement directives for streams. By default they select the request origin cluster.

Signed-off-by: Derek Collison <derek@nats.io>
2021-02-03 17:28:13 -08:00
Derek Collison
625e6859a3 Only respond for delete and purge if leader and not recovering.
Signed-off-by: Derek Collison <derek@nats.io>
2021-02-03 16:36:32 -08:00
Derek Collison
1c9258f91c Handle msg delete and stream purge for R=1
Signed-off-by: Derek Collison <derek@nats.io>
2021-02-03 16:30:03 -08:00
Derek Collison
6baf69889f Allow NoErase option to deleting a message through the formal API
Signed-off-by: Derek Collison <derek@nats.io>
2021-02-03 14:12:27 -08:00
Derek Collison
eb429022e8 There was a bug when a messages was erased and we expired the cache we would not properly re-index.
We need to clear the erase bit to properly set fseq in the cache structure.

Signed-off-by: Derek Collison <derek@nats.io>
2021-02-03 13:58:13 -08:00
Derek Collison
bbada32461 Bump Version
Signed-off-by: Derek Collison <derek@nats.io>
2021-02-02 11:48:55 -08:00
Derek Collison
c9e1cbd571 Modified jetstream varz information
Signed-off-by: Derek Collison <derek@nats.io>
2021-02-02 08:35:35 -08:00
Derek Collison
5fca2be35f Merge pull request #1875 from nats-io/jsc-remove
Removing peers from streams and consumers and stepdown functionality
2021-02-02 09:28:03 -07:00
Derek Collison
a8982c040f Suppress lost quorum processing if to close to raft node creation time.
Signed-off-by: Derek Collison <derek@nats.io>
2021-02-02 06:27:07 -08:00
Derek Collison
f3703a4b85 Make sure audit events have the proper subject regardless of where processed.
Signed-off-by: Derek Collison <derek@nats.io>
2021-02-02 05:03:20 -08:00
Derek Collison
e5c1d65fff Added in JS disable per server on reload. Also removing peerw from a stream and leader stepdown for streams and consumers.
Various bug fixes, stability improvments.

Signed-off-by: Derek Collison <derek@nats.io>
2021-02-01 19:39:08 -08:00
Matthias Hanel
3799b90011 [Adding] support for account_token_position (#1874)
This change does 4 things:
Refactor to only have one function to validate imports.
Have this function support the jwt field account_token_position.
For completeness make this value configurable as well.
unit tests.

Signed-off-by: Matthias Hanel <mh@synadia.com>
2021-02-01 19:51:36 -05:00
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
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
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
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