Commit Graph

5902 Commits

Author SHA1 Message Date
Derek Collison
abc5905aa9 Merge pull request #3221 from nats-io/direct
Made direct get from a stream part of the $JS.API hierarchy vs separate.
2022-06-28 09:59:44 -07:00
Matthias Hanel
aba1da090b [ADD] account specific in/out msgs/bytes stats to CONNS (#3187)
* [ADD] account specific in/out msgs/bytes stats to CONNS

This subject $SYS.ACCOUNT.%s.SERVER.CONNS will now respond with account
specific datastats for Received and sent messages as well as number of slow
consumers for the account.

Signed-off-by: Matthias Hanel <mh@synadia.com>
2022-06-28 18:59:29 +02:00
Matthias Hanel
aabaf6f106 [fixed] reload related races (#3222)
account.rm had races caused by reload copying rm from one account to
another

mset.store was used outsisde the lock

in rare cases the stasz message was not received in time.
Trigger automatically now

sometimes a statsz message received before reload cause issues.
try receiving a second time

Signed-off-by: Matthias Hanel <mh@synadia.com>
2022-06-28 18:36:13 +02:00
Derek Collison
b8ef9b19a0 Made direct get from a stream part of the $JS.API hierarchy vs separate.
Also for direct get and for pull requests, if we are not on a client connection check how long we have been away from the readloop.
If need be execute in a separate go routine.

Signed-off-by: Derek Collison <derek@nats.io>
2022-06-28 08:53:48 -07:00
Derek Collison
b0c4ec69ab Merge pull request #3216 from nats-io/update_consumer_filtered_subj
Allow consumer filter subjects to be updated
2022-06-28 08:42:08 -07:00
Matthias Hanel
3421c49310 [Add] ability for operator to move streams (#3217)
Also added:
ability to reload tags
special tag (!jetstream) to remove peer from peer placement
$JS.API.SERVER.STREAM.MOVE subject to initiate move away from a server

This changes a detail about regular stream move as well.
Before differing cluster names where used to start/stop a transfer.
Now only the peer list and it's size relative to configured replica matter.
Once a transfer is considered completed, excess peers will be dropped
from the beginning of the list.
This allows transfers within the cluster as well.

Signed-off-by: Matthias Hanel <mh@synadia.com>
2022-06-28 02:36:32 +02:00
Derek Collison
3e87867a5e Merge pull request #3220 from nats-io/ci_json
Default to essential ClientInfo for JetStream
2022-06-27 16:30:38 -07:00
Derek Collison
e02016db26 Fix race
Signed-off-by: Derek Collison <derek@nats.io>
2022-06-27 16:05:03 -07:00
Derek Collison
92cd7821de Convert server mutex to RW.
Signed-off-by: Derek Collison <derek@nats.io>
2022-06-27 16:05:03 -07:00
Derek Collison
830d659aec Do not default to sharing all client info for JetStream, only server and cluster info.
Signed-off-by: Derek Collison <derek@nats.io>
2022-06-26 07:11:02 -07:00
Derek Collison
9154fca7f1 Allow consumer filter subjects to be updated
Signed-off-by: Derek Collison <derek@nats.io>
2022-06-24 12:38:01 -07:00
Derek Collison
67a182f98e Merge pull request #3214 from nats-io/go_1.18
Go 1.18
2022-06-24 11:22:45 -07:00
Derek Collison
a7bb479339 For older versions just check we did not break build step
Signed-off-by: Derek Collison <derek@nats.io>
2022-06-24 10:54:02 -07:00
Derek Collison
4de1766f40 Fix TLS tests and allow older test certs for now
Signed-off-by: Derek Collison <derek@nats.io>
2022-06-24 09:43:42 -07:00
Derek Collison
cc197771ec Allow compile and staticheck to pass.
Signed-off-by: Derek Collison <derek@nats.io>
2022-06-24 09:17:12 -07:00
Derek Collison
6b6a2202c7 Bump CI to Go 1.18
Signed-off-by: Derek Collison <derek@nats.io>
2022-06-24 08:45:55 -07:00
Derek Collison
4d6b562450 Bump version to 2.8.5-beta.6
Signed-off-by: Derek Collison <derek@nats.io>
2022-06-21 09:12:22 -07:00
Derek Collison
314abd6028 Merge pull request #3205 from nats-io/issue_3199
[FIXED] Path separators in consumer or stream names prevented restoring a stream
2022-06-21 09:04:44 -07:00
Derek Collison
7a0c63af55 Merge pull request #3204 from nats-io/issue_1921
[FIXED] Allow users directives for leafnodes to not block reloads.
2022-06-21 09:03:07 -07:00
Derek Collison
b4238259b3 Change test to not have path separators
Signed-off-by: Derek Collison <derek@nats.io>
2022-06-20 12:16:46 -07:00
Derek Collison
1ade8fc881 When stream or consumer names contained path separators it prevented backup and restore.
Signed-off-by: Derek Collison <derek@nats.io>
2022-06-20 11:59:18 -07:00
Derek Collison
37f73ab229 Allow users directives for leafnodes to not block reloads.
Signed-off-by: Derek Collison <derek@nats.io>
2022-06-20 10:39:37 -07:00
Derek Collison
b108a84007 Merge pull request #3194 from nats-io/stream_placement
[IMPROVED] Distributed placement of streams in a cluster
2022-06-16 10:16:31 -07:00
Derek Collison
60b52b84c3 If no max bytes set do better randomization of placement.
If the stream is replicated take into consideration number of ha assets on the server already.

Signed-off-by: Derek Collison <derek@nats.io>
2022-06-15 17:12:45 -07:00
Derek Collison
bcffdb954f Bump version to 2.8.5-beta.5
Signed-off-by: Derek Collison <derek@nats.io>
2022-06-15 08:09:01 -07:00
Derek Collison
6db1eb4762 Merge pull request #3193 from nats-io/mqtt_consumer_cleanup
Allow for MQTT QoS-1 consumers to be auto cleaned up
2022-06-15 08:08:07 -07:00
Derek Collison
d24ae4723f Support reload
Signed-off-by: Derek Collison <derek@nats.io>
2022-06-15 07:58:09 -07:00
Derek Collison
9400733606 Allow for MQTT QoS-1 consumers to be auto cleanup after inactive threshold of time.
Signed-off-by: Derek Collison <derek@nats.io>
2022-06-14 17:37:45 -07:00
Derek Collison
677d53bd11 Merge pull request #3190 from nats-io/inactive_durables
Add in support for inactivity thresholds for durable consumers.
2022-06-14 10:55:10 -07:00
Derek Collison
7ca3831289 Merge pull request #3189 from nats-io/issue_3188
[FIXED] Account.exports.services Data Race
2022-06-14 10:49:54 -07:00
Derek Collison
4c8110c3ff Add in support for inactivity thresholds for durable consumers.
Signed-off-by: Derek Collison <derek@nats.io>
2022-06-14 06:51:00 -07:00
Derek Collison
1adb3ae3bf Fix for data race - issue 3188
Signed-off-by: Derek Collison <derek@nats.io>
2022-06-13 18:02:57 -07:00
Derek Collison
a830015703 Bump to 2.8.5-beta.4
Signed-off-by: Derek Collison <derek@nats.io>
2022-06-12 09:40:41 -07:00
Derek Collison
aba38501f3 Merge pull request #3184 from nats-io/fss_opt
[IMPROVED] Performance of wildcard filtered consumer with stream with many subjects.
2022-06-12 09:37:56 -07:00
Derek Collison
0bfe193043 Merge pull request #3185 from nats-io/issue_3177
[FIXED] Delivery of internal system msgs to queue subscribers across routes.
2022-06-12 09:30:21 -07:00
Derek Collison
af43dd3c74 When internal system messages were destined for a queue subscriber across a route the reply subject would be empty but not nil which caused mangling of the RMSG proto.
Signed-off-by: Derek Collison <derek@nats.io>
2022-06-11 14:12:05 -07:00
Derek Collison
148877b2f0 In the presence of many subjects in a stream and a wildcard filter subject, fall back to linear scan if too many.
Signed-off-by: Derek Collison <derek@nats.io>
2022-06-11 10:12:40 -07:00
Derek Collison
0794eafa6f Bump to 2.8.5-beta.2
Signed-off-by: Derek Collison <derek@nats.io>
2022-06-07 07:49:03 -07:00
Derek Collison
e2c6cc068c Merge pull request #3172 from nats-io/max_bytes_pull_409
Make error on make bytes exceeded on a pull request a 409
2022-06-07 07:48:03 -07:00
Derek Collison
fb51162e37 Make error on make bytes exceeded on a pull request a 409
Signed-off-by: Derek Collison <derek@nats.io>
2022-06-07 06:59:08 -07:00
Derek Collison
301eb11725 Merge pull request #3168 from nats-io/no_fds_imp
[IMPROVED] Loaded server and low on resources like FDs.
2022-06-06 06:01:20 -07:00
Derek Collison
c6946dd8a0 Merge pull request #3169 from nats-io/republish_updates
Republish on the republish subject, place original subject in a header like direct stream gets.
2022-06-05 16:48:57 -07:00
Derek Collison
b64f3095ce Republish on the republish subject, place original in a header like direct get
Signed-off-by: Derek Collison <derek@nats.io>
2022-06-05 16:21:39 -07:00
Derek Collison
f15934d3fb Bump version to 2.8.5-beta.1
Signed-off-by: Derek Collison <derek@nats.io>
2022-06-05 15:27:36 -07:00
Derek Collison
dfc74dd4c1 Make sure only stream leader does a republish
Signed-off-by: Derek Collison <derek@nats.io>
2022-06-05 15:27:07 -07:00
Derek Collison
fddc31adb5 Merge pull request #3158 from nats-io/kv-direct-get
[IMPROVED] Fast and Direct access to stream messages.
2022-06-05 07:04:18 -07:00
Derek Collison
e1c8f9fb55 This improves when a server is under load or low on resources like FDs and a user is trying to delete a stream with lots of consumers.
Signed-off-by: Derek Collison <derek@nats.io>
2022-06-04 16:49:17 -07:00
R.I.Pienaar
d836076443 Merge pull request #3163 from ripienaar/subject_transformer
export the correct subject transformer subject
2022-06-03 07:26:22 +02:00
R.I.Pienaar
52a1c542f5 export the correct subject transformer subject
While the TransformSubject function was doing the right
thing it did not match first and so would panic for subjects
that do not match the mapping.

The map function does the right thing so this is a more
appropriate function to export.

This undoes the exporting of unsafe TransformSubject and
exports the safer Match instead.

Signed-off-by: R.I.Pienaar <rip@devco.net>
2022-06-02 18:26:12 +02:00
Derek Collison
eaa100d8e8 Merge pull request #3162 from nats-io/restart_adv_3
Mark meta recovering state and use to suppress api responses and api audits during restarts.
2022-06-01 22:30:06 -07:00