Commit Graph

1729 Commits

Author SHA1 Message Date
Davor Kapsa
05f9a49f25 Fix ErrAuthentication comment 2018-12-03 19:25:45 +01:00
Derek Collison
54d505201f Merge pull request #823 from nats-io/events
Allow servers to send system events.
2018-12-01 18:01:25 -08:00
Derek Collison
222814609d Add in server shutdowns
Signed-off-by: Derek Collison <derek@nats.io>
2018-12-01 17:30:22 -08:00
Derek Collison
46707a2c01 Return on bad number of tokens
Signed-off-by: Derek Collison <derek@nats.io>
2018-12-01 16:53:23 -08:00
Derek Collison
4b1e5358bc Don't hold server lock when placing outbound items on sendq
Needed to change some things around but think this is close.

Signed-off-by: Derek Collison <derek@nats.io>
2018-12-01 16:48:57 -08:00
Derek Collison
744795ead5 Allow servers to send system events.
Specifically this is to support distributed tracking of number of account connections across clusters.
Gateways may not work yet based on attempts to only generate payloads when we know there is outside interest.

Signed-off-by: Derek Collison <derek@nats.io>
2018-12-01 13:54:25 -08:00
Ivan Kozlovic
36345ee167 Merge pull request #822 from nats-io/init_bench_sublist_only_when_needed
Initialized the sublist for benchmark tests only when needed
2018-12-01 12:20:10 -07:00
Ivan Kozlovic
dba4cfa791 Initialized the sublist for benchmark tests only when needed
This saves a lot of memory and init time when running non benchmark
tests in race mode.

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2018-12-01 12:12:45 -07:00
Derek Collison
2a61f28806 Merge pull request #821 from nats-io/raw
Change to RawURLEncoding
2018-11-29 17:17:57 -08:00
Derek Collison
e2ce2c0cff Change to RawURLEncoding
Signed-off-by: Derek Collison <derek@nats.io>
2018-11-29 17:04:58 -08:00
Derek Collison
2a19de7963 Merge pull request #819 from nats-io/sys
Allow servers to send and receive messages directly
2018-11-29 15:40:21 -08:00
Derek Collison
10eb491898 Better serializing of server info
Signed-off-by: Derek Collison <derek@nats.io>
2018-11-29 15:22:04 -08:00
Derek Collison
4172e9b962 Serialize outbound messages
Signed-off-by: Derek Collison <derek@nats.io>
2018-11-29 13:59:45 -08:00
Ivan Kozlovic
deb4d96623 Merge pull request #820 from nats-io/gw_fix_race_issue
Fixed race issue with lookup/update of the sent no-interest map
2018-11-29 14:36:57 -07:00
Ivan Kozlovic
f011db47c7 Fixed race issue with lookup/update of the sent no-interest map
We can't use a simple sync.Map here because the noInterest map
for inbound gateway connections are used concurrently. Indeed,
whenever an account would have been registered or a new sub created
this could trigger an update of that map in order to clear the
fact that we had sent an A-/RS- and now are sending an A+/RS+.
So changed to simple map but protected by gw connection's lock.

Without this change, server would panic if there are messages
published to cluster A that are sent to server B while a sub
is then created on matching subject on B.

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2018-11-29 14:22:56 -07:00
Derek Collison
16e9bbaf4c Fixes for PR comments
Signed-off-by: Derek Collison <derek@nats.io>
2018-11-29 12:54:07 -08:00
Derek Collison
8d05ed82ff Make sure sub is processed
Signed-off-by: Derek Collison <derek@nats.io>
2018-11-29 12:29:50 -08:00
Derek Collison
574fd62e01 Allow servers to send and receive messages directly
Signed-off-by: Derek Collison <derek@nats.io>
2018-11-29 12:15:08 -08:00
Ivan Kozlovic
8a662a5760 Merge pull request #818 from nats-io/fix_flapper
Fixed gateway flapper
2018-11-29 08:22:48 -07:00
Ivan Kozlovic
60462b2a44 Fixed gateway flapper
Need to make sure message is received before unsub'ing because
otherwise it would be possible that the unsub happens before
message is delivered, which would have resulted in an RS- while
we were expecting the message to not cause one.

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2018-11-28 19:16:35 -07:00
Ivan Kozlovic
04c952854b Merge pull request #817 from nats-io/fix_ld_mode
Update to LameDuck mode
2018-11-28 18:34:50 -07:00
Ivan Kozlovic
cfc5ec4d44 Fixed test and remove grace period from total duration.
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2018-11-28 18:25:15 -07:00
Ivan Kozlovic
e1a4cbaf70 Update to LameDuck mode
- Increase grace period to 10sec
- Make default 2min
- Reject config with value less than 30sec
- Don't wait more than 1sec between clients if there are much
  less than alloted time
- Stop after last one (was still sleeping after last client was
  closed)

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2018-11-28 18:04:26 -07:00
Ivan Kozlovic
7ef7fdfc23 Merge pull request #816 from nats-io/gw_detect_itself
Gateways: Ignore reference to self
2018-11-28 16:01:06 -07:00
Ivan Kozlovic
086b26f14a Gateways: Ignore reference to self
Allows the use of a global include for all gateways and each
gateway will ignore its own reference.

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2018-11-28 14:24:28 -07:00
Ivan Kozlovic
74f789c985 Merge pull request #815 from nats-io/fix_gw_issues
Fixed issue with gateways
2018-11-28 13:39:52 -07:00
Ivan Kozlovic
d78b1ae464 Fixed issue with gateways
- If/when splitting buffer to pass to queueOutbound(), it has to
  be include full protocol.
- Fix counting of total queue subs
- Fix tests
- Send RS- if no plain sub interest even if there is queue sub
  interest.
- Removed a one-liner function

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2018-11-28 13:15:47 -07:00
Ivan Kozlovic
111a821dc1 Merge pull request #808 from nats-io/gateways
Gateways [WIP]
2018-11-27 20:31:52 -07:00
Ivan Kozlovic
bbacc58f7a Updates based on comments
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2018-11-27 20:19:02 -07:00
Ivan Kozlovic
52c724a83c Updates based on comments
- Solve RS+ with wildcards
- Solve issue with messages not send to remote gateways queue subs
  if there was a qsub on local server.
- Made rcache a perAccountCache since it is now used by routes and
  gateways
- Order outbound gateways only on RTT updates
- Print a server's gateway name on startup
- Augment/add some tests
- Update TLS handling: when connecting, use hostname for ServerName
  if url is not IP, otherwise use a hostname that we saved when
  parsing/adding URLs for the remote gateway.
- Send big buffer in chunks if needed.
- Add caching for qsubs match

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2018-11-27 19:39:41 -07:00
Ivan Kozlovic
10fd3ca0c6 Gateways [WIP]
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2018-11-27 19:00:03 -07:00
Derek Collison
b04fce922f Merge pull request #814 from nats-io/service_import
Service Import Updates/Expiration
2018-11-27 11:34:57 -08:00
Derek Collison
51c57a46c4 Test cleanup
Signed-off-by: Derek Collison <derek@nats.io>
2018-11-26 20:27:08 -08:00
Derek Collison
0e0b7e3a80 Service Import Updates
Signed-off-by: Derek Collison <derek@nats.io>
2018-11-26 20:27:08 -08:00
Derek Collison
59f923bea5 Merge pull request #813 from nats-io/limits
Single Server Limits
2018-11-26 09:34:13 -08:00
Derek Collison
3a87217965 spelling
Signed-off-by: Derek Collison <derek@nats.io>
2018-11-26 09:16:39 -08:00
Derek Collison
e14acf9f4e Single server limits
Implemented single server account claim limits for subscriptions and active connections and message payload.

Signed-off-by: Derek Collison <derek@nats.io>
2018-11-25 15:37:53 -08:00
Derek Collison
8fe0fa7057 Updated jwt vendor
Signed-off-by: Derek Collison <derek@nats.io>
2018-11-24 09:36:30 -08:00
Derek Collison
7aa5d2144e Merge pull request #804 from nats-io/trust
Add JWT support for users, accounts and import activations
2018-11-23 19:19:29 -05:00
Derek Collison
6b23e40ae1 Fix for AddExport and unexport server funcs that require lock
Signed-off-by: Derek Collison <derek@nats.io>
2018-11-23 16:04:58 -08:00
Derek Collison
43bd71cd10 fixes for PR comments, MaxControlLine update for tests
Signed-off-by: Derek Collison <derek@nats.io>
2018-11-21 20:08:19 -08:00
Derek Collison
a2e310ffc1 Vendor jwt, fixes for nkey, jwt changes
Signed-off-by: Derek Collison <derek@nats.io>
2018-11-21 19:22:04 -08:00
Derek Collison
0ee714ce28 Add JWT support for users, accounts and import activations.
Add in trusted keys options and binary stamp
User JWT and Account fetch with AccountResolver
Account and User expiration
Account Imports/Exports w/ updates
Import activation expiration

Signed-off-by: Derek Collison <derek@nats.io>
2018-11-21 10:36:32 -08:00
Derek Collison
fcb15daa2b Merge pull request #806 from aviau/no-exec
chmod -x logger/syslog_windows_test.go
2018-11-21 11:51:25 -05:00
aviau
35b4eaf4ad chmod -x logger/syslog_windows_test.go 2018-11-21 11:39:27 -05:00
Derek Collison
3c52dc8ad0 Merge pull request #800 from nats-io/routes
Optimize subs over routes
2018-11-12 12:06:54 -08:00
Derek Collison
24b99c74a3 Optimize subs over routes
Signed-off-by: Derek Collison <derek@nats.io>
2018-11-12 08:06:10 -08:00
Derek Collison
6e049efbde Additional tests for import fanout
Signed-off-by: Derek Collison <derek@nats.io>
2018-11-11 07:57:50 -08:00
Ivan Kozlovic
0744bb64c3 Merge pull request #799 from nats-io/update_lame_duck_mode
Introduce some delay before closing clients in LameDuck mode.
2018-11-08 19:46:19 -07:00
Ivan Kozlovic
7b25c0890d Merge pull request #798 from nats-io/fix_account_race_on_reload
Fix data race on config reload with routes and accounts
2018-11-08 19:41:21 -07:00