R.I.Pienaar
b80e40340e
allow account limits to be applied to unlimited streams
...
Signed-off-by: R.I.Pienaar <rip@devco.net >
2020-07-27 19:02:37 +02:00
R.I.Pienaar
ca0dc72841
allow max consumers to be set
...
Signed-off-by: R.I.Pienaar <rip@devco.net >
2020-07-24 17:30:41 +02:00
R.I.Pienaar
5037f00b30
ensure unlimited account limits are calculated correctly
...
Previously unlimited accounts - ones who inherit server values - would
be unable to publish any messags at all
Signed-off-by: R.I.Pienaar <rip@devco.net >
2020-07-20 10:46:34 +02:00
Derek Collison
8727315eb9
Updated snapshots, added restore, generic hashes
...
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-26 19:53:16 -07:00
Derek Collison
710ef00383
Don't allow JetStream on system account. Warn when accounts configured but no JS
...
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-25 12:17:18 -07:00
Derek Collison
3caf6265d4
Properly recover ephemeral consumers after restart
...
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-25 11:06:55 -07:00
R.I.Pienaar
5504c1212d
adds a warning banner about the preview status
...
Signed-off-by: R.I.Pienaar <rip@devco.net >
2020-05-22 18:32:24 +02:00
Derek Collison
476e339cf9
Race detection fix
...
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-19 16:36:08 -07:00
Derek Collison
d3a447e6e9
Be more efficient when cleaning up all consumers for a stream
...
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-19 14:27:45 -07:00
Derek Collison
5256781ba0
Addressed issues raised in https://github.com/nats-io/nats-server/pull/1369
...
API still only turned on for account info in disabled accounts. Issues with advisories. Plan is still to have all endpoints on in all accounts.
Stream list and Consumer list return names only, page limit increased to 1024.
Stream, Consumer and Template names limited to 256 for now.
Subject API for stream messages, delete and get, not have STREAM.MSG.
Subject API for Durable is now CONSUMER.DURABLE.
Subject API for Templates now STREAM.TEMPLATE.
All subject APIs for list reverted back, so STREAM.LIST, CONSUMER.LIST etc.
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-19 14:27:45 -07:00
Derek Collison
cadd39a01c
Major rewrite for NATS JetStream API
...
API made more consistent. Noun followed by verb.
Name arguments in request subejcts are always at the end now.
Remove enabled call, just use account info.
Getting a message directly from a stream is treated like an admin API and requires JSON request.
Deleting a message directly as well.
StreamList and ConsumerList now include details and support paging.
Streams and Consumers now contain a created field in their info.
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-19 14:27:45 -07:00
Derek Collison
513bff051b
Redesign message-based API
...
Removed usage of +OK and -ERR. All responses are valid json objects now and optionally can include an ApiError which will have Code and Description.
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-19 14:26:46 -07:00
Derek Collison
4139777ea8
First pass at account config for jetstream server reload support
...
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-19 14:21:27 -07:00
Derek Collison
ec0bc1dbec
First pass account configuration for jetstream
...
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-19 14:21:27 -07:00
Derek Collison
4774d41f9d
Fixes for filestore consistency on server restarts under heavy load with purge operations
...
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-19 14:18:34 -07:00
Derek Collison
3ab76a6dcd
Write performance tweaks
...
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-19 14:16:03 -07:00
Derek Collison
c9d3bdd5ab
Added Stream Update abilities for certain properties
...
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-19 14:16:03 -07:00
Derek Collison
d5aa55a103
Audit advisories, work based off of #1253 from ripienaar
...
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-19 14:16:03 -07:00
Derek Collison
313dcd21ba
Removed condition not needed
...
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-19 14:16:03 -07:00
Derek Collison
5c99355fa5
Separate out consumer API for Durable vs Ephemeral
...
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-19 14:16:03 -07:00
Derek Collison
e703d62bd5
Tweak ACK reply subject
...
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-19 14:16:03 -07:00
Derek Collison
f0b5fd2882
Add in API support for templates, proto error helper
...
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-19 14:16:03 -07:00
Derek Collison
4046babb77
Make other API calls for next, ack ,and byseq more aligned with others
...
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-19 14:16:03 -07:00
R.I.Pienaar
88760724e1
also validate that subject matches request
2020-05-19 14:16:03 -07:00
R.I.Pienaar
25e535eab8
add stream name to create subject
...
I anticipate it would be desirable to allow a microservice running
in an account to create only the stream it needs when it starts up
if there is no stream but no others, so a ACL would be written to
allow that.
Thus adding the T pattern to stream create too.
2020-05-19 14:16:03 -07:00
Derek Collison
72cda966f4
Changed API subjects to be authorization friendly
...
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-19 14:16:03 -07:00
R.I.Pienaar
24939d51db
use "advisory" instead of "notification"
2020-05-19 14:16:03 -07:00
R.I.Pienaar
200ebbd47e
proposed schemas for events
...
This is a proposal to add schema, timestamps and unique ids to
events. For now just JS ones but I propose to do these for all
events the server sends that might be end user consumed.
These exist to help the user identify a message even if it was
sent to a 3rd party system, the schema will be translatable to
a well known url like https://nats.io/schames/jetstream/event/v1/obs_ack.json
or to another wll known identifier like a NATS subject name
We'd publish JSON schema documents at these well known locations
describing each key and so forth
2020-05-19 14:16:03 -07:00
R.I.Pienaar
c9da1ca64a
fix purge export subject
2020-05-19 14:16:03 -07:00
Derek Collison
47c28b2fb0
JetStream major refactor for name changes.
...
MsgSet -> Stream
Observable -> Consumer
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-19 14:16:03 -07:00
Derek Collison
23da0b08ac
Pulled out K/V support for now
...
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-19 14:16:03 -07:00
Derek Collison
d836769cab
Added in basic K/V scenario
...
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-19 14:16:03 -07:00
Derek Collison
2237915c97
Added in template support
...
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-19 14:16:03 -07:00
Derek Collison
e3be6f45c4
Add in delete for observables for filestore impl
...
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-19 14:16:03 -07:00
Derek Collison
b3739f9bbf
MaxMsgSize for MsgSets, -ERR api cleanup
...
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-19 14:16:03 -07:00
R.I.Pienaar
1d4f6402ba
unexported import of Comma function from humanize
2020-05-19 14:16:03 -07:00
R.I.Pienaar
fab4d00141
de-humanize
...
Signed-off-by: R.I.Pienaar <rip@devco.net >
2020-05-19 14:16:03 -07:00
R.I.Pienaar
aa2fe462ba
elevate some logging to improve visibility into corruption
...
Signed-off-by: R.I.Pienaar <rip@devco.net >
2020-05-19 14:15:11 -07:00
Derek Collison
58d98d42cb
Allow notifications for literal subjects.
...
This allows us to register for notifications on subjects to determine when interest comes and goes.
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-19 14:15:11 -07:00
R.I.Pienaar
a01698bcf7
also track delivery counts and msg set
2020-05-19 14:15:11 -07:00
R.I.Pienaar
e8bd543c54
support sampling time to ack messages in explicit ack mode
...
This allows an observable to have a sampling frequency and will
publish ack times regularly
2020-05-19 14:15:11 -07:00
Derek Collison
a1e802c04b
Flush state on shutdown and re-initialize pending checks on restore to do redelivery
...
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-19 14:15:11 -07:00
Derek Collison
cfc31f7a15
Allow direct lookup of message from msgset
...
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-19 14:15:11 -07:00
Derek Collison
b3b2feebc5
Include config in info for msgset
...
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-19 14:15:11 -07:00
Derek Collison
bbdb61a4e1
Add ability to set storage directory
...
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-19 14:15:11 -07:00
Derek Collison
c650b1bca3
API fix and rebase fix
...
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-19 14:15:11 -07:00
Derek Collison
0d44a6150a
More debug info on startup and restore
...
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-19 14:15:11 -07:00
Derek Collison
e127039622
More API impls, tests for DeleteMsg
...
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-19 14:13:22 -07:00
Derek Collison
6b34d4e700
Remove deadlock, balance filestore perf
...
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-19 14:13:22 -07:00
Derek Collison
0c2d539b06
Remote request API
...
Signed-off-by: Derek Collison <derek@nats.io >
2020-05-19 14:13:22 -07:00