Matthias Hanel
cf6715bc19
Merge pull request #2539 from nats-io/reserved_memory
...
Exposing reserved memory in jsz/varz
2021-09-20 12:55:07 -04:00
R.I.Pienaar
3be0b23a3e
Merge pull request #2546 from ripienaar/negative_dupe_window_protection
...
protect against negative dupe window via negative max age
2021-09-20 18:09:19 +02:00
R.I.Pienaar
34b5a11e20
protect against negative dupe window via negative max age
...
Signed-off-by: R.I.Pienaar <rip@devco.net >
2021-09-20 17:34:48 +02:00
Derek Collison
c764da328c
Make sure to set last sequence on recovery, check for ddloaded on last msg id
...
Signed-off-by: Derek Collison <derek@nats.io >
2021-09-20 07:11:15 -07:00
Derek Collison
edac5992b8
Bump version
...
Signed-off-by: Derek Collison <derek@nats.io >
2021-09-19 14:02:00 -07:00
Derek Collison
cecb6246f2
Test tweaks
...
Signed-off-by: Derek Collison <derek@nats.io >
2021-09-19 13:28:37 -07:00
Derek Collison
cfb69bbd1f
Only rebuild dedupe state as needed versus always on startup.
...
Was penalizing large non-dedupe streams on startup.
Signed-off-by: Derek Collison <derek@nats.io >
2021-09-19 13:27:26 -07:00
Derek Collison
08b498fbda
Log error on write errors
...
Signed-off-by: Derek Collison <derek@nats.io >
2021-09-19 12:14:31 -07:00
Derek Collison
d79a00499d
Remove extra unlock that causes panics
...
Signed-off-by: Derek Collison <derek@nats.io >
2021-09-19 12:13:37 -07:00
Derek Collison
4283358dcd
Improvments to writeIndexInfo logic and managing open FDs.
...
Also hold lock while doing sync and optionally close FDs if idle.
Signed-off-by: Derek Collison <derek@nats.io >
2021-09-19 11:45:16 -07:00
Derek Collison
7a4c904761
Improvements to cache management.
...
Signed-off-by: Derek Collison <derek@nats.io >
2021-09-18 15:21:12 -07:00
Matthias Hanel
5b9d20871d
Exposing reserved memory in jsz/varz
...
Signed-off-by: Matthias Hanel <mh@synadia.com >
2021-09-16 18:55:50 -04:00
Derek Collison
40a4d40337
Make large batch requests expire more efficiently.
...
Signed-off-by: Derek Collison <derek@nats.io >
2021-09-16 15:00:18 -07:00
Derek Collison
d91a0061ed
Fix for data race around c.echo
...
Signed-off-by: Derek Collison <derek@nats.io >
2021-09-16 11:59:52 -07:00
Derek Collison
9918f16914
ConsumerInfo in clustered mode would return not found if assigned but not properly setup with a leader.
...
This change returns an info in those states now to better support client logic when binding consumers.
Signed-off-by: Derek Collison <derek@nats.io >
2021-09-16 10:56:34 -07:00
Ivan Kozlovic
47359c453e
Merge pull request #2533 from nats-io/js_cons_fc_hb
...
[CHANGED] JetStream: flow control requires heartbeats
2021-09-16 10:20:48 -06:00
Derek Collison
cfbc69b12c
Allow clustered JetStream to allow duplicate stream creation like single server mode.
...
Resolves #2528
Signed-off-by: Derek Collison <derek@nats.io >
2021-09-15 20:18:44 -07:00
Ivan Kozlovic
ec774c9347
MQTT handle idempotent session stream creation.
...
Creating a stream will become idempotent, so assuming that we
should try to transfer the old session streams only on success
will no longer work.
Added a test that checks that "stream" list is queried only once
which means transfer was attempted only once after the second
cluster restart and new connection.
Signed-off-by: Ivan Kozlovic <ivan@synadia.com >
2021-09-15 10:15:45 -06:00
Ivan Kozlovic
108d4060ff
[CHANGED] JetStream: flow control requires heartbeats
...
The server will now reject the creation of a push consumer with
flow control if no heartbeat is set.
Resolves #2520
Signed-off-by: Ivan Kozlovic <ivan@synadia.com >
2021-09-15 09:50:15 -06:00
Ivan Kozlovic
d6f9a06f05
Merge pull request #2530 from nats-io/mqtt_del_sess
...
MQTT: delete the session record even on restart with clean flag
2021-09-15 09:01:49 -06:00
R.I.Pienaar
6a5ac92eec
fix error code for JSStreamHeaderExceedsMaximumErr
...
Also checks for gaps in codes
Signed-off-by: R.I.Pienaar <rip@devco.net >
2021-09-15 09:01:03 +02:00
Derek Collison
765d39a2b6
Fix flapping test
...
Signed-off-by: Derek Collison <derek@nats.io >
2021-09-14 17:47:14 -07:00
Ivan Kozlovic
4cc2677573
MQTT: delete the session record even on restart with clean flag
...
When a session record exists and is currently not connected, if
the user reconnects with the same client ID but with now the
clean flag set, we are required to clear the state. In earlier
implementation (where we were using a stream per session), we
were not deleting the stream to be created right away. Since now
we just have a message per session, it is ok to delete that
message when clearing the existing session that is going to be
replaced.
Also made apiDispatch execute in place for any connection that
is not ROUTER or GATEWAY.
Signed-off-by: Ivan Kozlovic <ivan@synadia.com >
2021-09-14 16:33:48 -06:00
Derek Collison
ebc581012e
Fixed a condition where JetStream assets could be created in multiple leafnodes.
...
Also added in optional Domain to StreamInfo.
Signed-off-by: Derek Collison <derek@nats.io >
2021-09-14 14:17:49 -07:00
Derek Collison
20574ffaad
Merge pull request #2526 from nats-io/issue-2525
...
[FIXED] #2525
2021-09-14 06:41:18 -07:00
Derek Collison
9cdab0682a
Bump version
...
Signed-off-by: Derek Collison <derek@nats.io >
2021-09-13 18:41:12 -07:00
Derek Collison
4cfffc6fa6
We use u16 to encide header len when replicating JetStream messages.
...
Make sure to error if we exceed that limit.
Signed-off-by: Derek Collison <derek@nats.io >
2021-09-13 18:13:07 -07:00
Derek Collison
620b56e12f
During compaction the cache may not be loaded completely if msg block was lmb (active writing).
...
This could lead to the filtered subject state being incorrect.
Signed-off-by: Derek Collison <derek@nats.io >
2021-09-13 14:36:50 -07:00
Ivan Kozlovic
6e705c2dec
Merge pull request #2519 from nats-io/fix_2510
...
[FIXED] Websocket: possible panic when decoding CLOSE frame
2021-09-13 14:45:20 -06:00
Ivan Kozlovic
2495180d76
Merge pull request #2518 from nats-io/fail_auth_token_where_not_supported
...
[FIXED] Report config error if "token" defined for cluster{} and gateway{}
2021-09-13 14:23:25 -06:00
Ivan Kozlovic
8d41daf6ab
Updates based on code review
...
Signed-off-by: Ivan Kozlovic <ivan@synadia.com >
2021-09-13 14:06:17 -06:00
Ivan Kozlovic
5c5cc88c1f
[FIXED] Report config error if "token" defined for cluster{} and gateway{}
...
Authentication token has never been supported for cluster and
gateway (and leafnode). There is not even a Token option in
ClusterOpts or GatewayOpts.
However, the parsing of the configuration was not rejecting this
misconfiguration, making users believe that token was used for
authentication.
Documentation will also be fixed since it is reported there that
token is supported, which again, has never been the case.
Signed-off-by: Ivan Kozlovic <ivan@synadia.com >
2021-09-13 10:21:00 -06:00
Andrey Shalamov
8575b334a2
fixed queue group memory leak
2021-09-13 15:22:05 +03:00
Ivan Kozlovic
1727c6061c
[FIXED] Websocket: possible panic when decoding CLOSE frame
...
Resolves #2510
Signed-off-by: Ivan Kozlovic <ivan@synadia.com >
2021-09-12 15:35:49 -06:00
Ivan Kozlovic
bc1b3a1884
Release v2.5.0
...
Signed-off-by: Ivan Kozlovic <ivan@synadia.com >
2021-09-09 15:29:53 -06:00
Ivan Kozlovic
a5b016f8ab
Merge pull request #2507 from nats-io/mqtt_conn_event
...
[ADDED] Monitoring: ClientID (for MQTT clients) on connection events
2021-09-09 14:51:05 -06:00
Ivan Kozlovic
0411ba0c03
Changed ClientID to MQTTClient and client_id to mqtt_client
...
Signed-off-by: Ivan Kozlovic <ivan@synadia.com >
2021-09-09 14:34:54 -06:00
Ivan Kozlovic
49024a0353
[ADDED] Monitoring: ClientID (for MQTT clients) on connection events
...
ClientID has been added to various monitoring objects. Also, added
the ability to filter connections on `client_id`.
On auth violation, the proper code was not invoked, which meant
that no disconnect event (with auth reason) would be published.
Resolves #2270
Signed-off-by: Ivan Kozlovic <ivan@synadia.com >
2021-09-09 13:34:46 -06:00
Derek Collison
c56c5acd64
Only supply expected last header is seq != 0
...
Signed-off-by: Derek Collison <derek@nats.io >
2021-09-09 12:23:00 -07:00
Derek Collison
e18a278196
Added ability to check if no message exists as a test to store the message.
...
Signed-off-by: Derek Collison <derek@nats.io >
2021-09-09 11:41:23 -07:00
Derek Collison
f75371022d
Fix for issue #2488 .
...
When we triggered a filestore msg block compact we were not properly dealing with interior deletes.
Subsequent lookups past the skipped messages would cause an error and stop delivering messages.
Signed-off-by: Derek Collison <derek@nats.io >
2021-09-09 09:53:22 -07:00
Ivan Kozlovic
9e5526cc9d
Merge pull request #2501 from nats-io/mqtt_sess_changes
...
[IMPROVED] MQTT stream per session replaced with single stream
2021-09-08 19:35:29 -06:00
Ivan Kozlovic
ddcc49f88d
Updates based on code review
...
Signed-off-by: Ivan Kozlovic <ivan@synadia.com >
2021-09-08 19:13:46 -06:00
Derek Collison
02c792e675
Bump version
...
Signed-off-by: Derek Collison <derek@nats.io >
2021-09-08 17:47:50 -07:00
Derek Collison
c841269f71
Make sure to suppress dupes on JS deny all for system account
...
Signed-off-by: Derek Collison <derek@nats.io >
2021-09-08 17:09:25 -07:00
Ivan Kozlovic
21a990d2b5
[IMPROVED] MQTT stream per session replaced with single stream
...
With the availability of a "max message per subject" for a given
stream, it is possible to replace individual streams that were
created per session with a single stream that gets all sessions
as a single message per subject, which subject is composed of
the session client ID hash.
The first time the new stream is created for a given account,
all existing MQTT session streams will be transferred to the
new mux'ed MQTT session stream.
Signed-off-by: Ivan Kozlovic <ivan@synadia.com >
2021-09-08 16:32:41 -06:00
Derek Collison
dadc3b9fae
Fixed a bug when an interest retention stream with noack consumers is in clustered mode.
...
We were not properly propagating the ack state and proper cleanup of the stream messages.
Signed-off-by: Derek Collison <derek@nats.io >
2021-09-08 15:02:09 -07:00
Derek Collison
04e8485a21
Bump version
...
Signed-off-by: Derek Collison <derek@nats.io >
2021-09-07 08:37:50 -07:00
Derek Collison
963b0c41d7
Merge pull request #2490 from nats-io/fs-stable
...
Fixed a bug that could lead to perceived message loss under JetStream.
2021-09-07 08:37:16 -07:00
Derek Collison
2b2c4ba4a6
Bump Go test timeout
...
Signed-off-by: Derek Collison <derek@nats.io >
2021-09-07 08:20:54 -07:00