Commit Graph

48 Commits

Author SHA1 Message Date
Derek Collison
a7d7b6ff56 Fix for writing messages after restart and delivery count suppression on max
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
1028798d3a Move Subject to FilterSubject
Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:16:03 -07:00
Derek Collison
89ff13a5be Add MaxDeliver for observables
Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:16:03 -07:00
Derek Collison
7e8c74fdbd Pull-based observables must be durable
Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:16:03 -07:00
Derek Collison
1c939d5cc8 Adjust delivered for obs info via -1
Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:16:03 -07:00
Derek Collison
37be43ee5a Make sure purge works with redeliveries pending
Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:15:11 -07:00
Derek Collison
f78efe2d91 Add Name to Observable info
Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:15:11 -07:00
Derek Collison
5efdf63625 Fix case where request for next msg times out
Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:15:11 -07:00
Derek Collison
54e2de912f Update observables on purge
Signed-off-by: Derek Collison <derek@nats.io>
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
423e017724 update readme to point to new CLI and updated guide 2020-05-19 14:15:11 -07:00
R.I.Pienaar
d828daa697 adjust ack event json field names for consistency 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
R.I.Pienaar
e2a1b18de6 report observable config and observables count on message sets 2020-05-19 14:15:11 -07:00
Derek Collison
ca5b58e27f Bug fix for original replay with no initial interest, README updates
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
Derek Collison
3c074ace4b Changed Partition -> Subject
Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:13:22 -07:00
Derek Collison
79b85ae385 Optimize for concurrent pub/sub
Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:13:22 -07:00
Derek Collison
ec2161ad53 State recovery and server shutdown
Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:12:28 -07:00
Derek Collison
68860b39c3 metadata and checksum storage
Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:12:28 -07:00
Derek Collison
637afda94c Stub in observable state store
Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:12:28 -07:00
Derek Collison
613d65c58c Erased msg recovery, bug fix on linux for idx file, LoadMsg vs Lookup
Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:12:28 -07:00
Derek Collison
75908f80a4 API cleanup
Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:07:02 -07:00
Derek Collison
da7838368d Tracking usage and limits
Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:07:02 -07:00
Derek Collison
b7b98df4ee Server limits and account reservations
Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:07:02 -07:00
Derek Collison
8ba8abfab9 Observable replay policy to control rate of replay
Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:07:02 -07:00
Derek Collison
7e00a975b1 Add purge and interest retention tests
Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:07:02 -07:00
Derek Collison
171a59754d Implement delivery count, nak checks, no restart on nak
Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:07:02 -07:00
Derek Collison
b8c958ed07 Nak as restart semantics on push based observable
Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:07:02 -07:00
Derek Collison
98bd8234b6 Rework of delivery sequence vs store sequence and ack reply subjects
Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:07:02 -07:00
Derek Collison
68c9394a3f Make sure to update pending timestamp on redelivery
Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:07:02 -07:00
Derek Collison
ac40ecaef9 Durable reassignment and takeover
Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:07:02 -07:00
Derek Collison
0fb7ee32bc Auto-expiration of ephemeral push based observables
Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:07:02 -07:00
Derek Collison
d02b2a3d9c NoAck option for MsgSets
Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:07:02 -07:00
Derek Collison
d327a91143 Working ACK indicator
Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:07:02 -07:00
Derek Collison
4eee93dea0 NAK for workers
Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:07:02 -07:00
Derek Collison
0a92d8e87d AckWait and redelivery
Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:07:02 -07:00
Derek Collison
ccbd3d6032 cleanup
Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:07:02 -07:00
Derek Collison
5576463635 ack prep
Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:07:02 -07:00
Derek Collison
5d5d5cbd60 Add AckNext and batch size for worker pull mode
Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:07:02 -07:00
Derek Collison
cd3c1c7a3f Basic partitioning
Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:07:02 -07:00
Derek Collison
98b78d06c4 First pass pull mode, e.g. worker
Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:07:02 -07:00
Derek Collison
dd116fcfd4 JetStream first pass basics.
This is the first checkin for JetStream. Has some rudimentary basics working.

TODO
1. Push vs pull mode for observables. (work queues)
2. Disk/File store, memory only for now.
3. clustering code - design shaping up well.
4. Finalize account import semantics.
5. Lots of other little things.

Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:06:29 -07:00