Commit Graph

1435 Commits

Author SHA1 Message Date
Derek Collison
57e57892da Test for closed state being correct
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-26 16:54:11 -07:00
Derek Collison
f9f478b143 Wait for all closed connections before starting
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-26 15:14:32 -07:00
Derek Collison
4a18daed31 megacheck
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-26 15:01:23 -07:00
Alberto Ricart
4a07a60524 Fixes and changes as per review 2018-06-26 16:50:14 -05:00
Derek Collison
e1058d4dd8 Make sure closed connection with options are race safe
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-26 14:45:58 -07:00
Derek Collison
0c0dd92467 cluster should be empty when not defined
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-26 10:49:18 -07:00
Derek Collison
11c53ce333 Use local variable of nc
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-25 20:32:29 -07:00
Derek Collison
ec8e2636de Track closed connections and reason for closing
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-25 17:56:07 -07:00
Alberto Ricart
c35607cd95 [ADD] internal option to write a ports file --ports_file_dir
The added option writes a file in the specified directory called <exename>_<pid>.ports which
contains a JSON representation of ports that the gnatsd has opened.

This change is intended to facilitate testing by having ports be specified with a -1, so
they are auto assigned and allow tests to locate and connect to the launched gnatsd(s).
2018-06-22 16:15:39 -05:00
Ivan Kozlovic
06f74a0e3a [UPDATED] Elevate TLS error logs from DBG to ERR
The one for route was already changed. Changing the one for
client handshake and TLS timeout.

Resolves #513

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2018-06-22 09:33:07 -06:00
Ivan Kozlovic
dd59bdf285 Merge pull request #688 from nats-io/route_permissions_v2
[ADDED] Route permissions
2018-06-21 21:13:02 -06:00
Ivan Kozlovic
d435fb9aa3 Remove some debug statements
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2018-06-21 20:23:39 -06:00
Derek Collison
da3c891203 Build requires 1.9+. Update to ciphers for 1.8+ by default, remove 1.5 version
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-21 18:46:25 -07:00
Derek Collison
b7ece91825 Avoid race by using conditional deep copy
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-21 18:22:06 -07:00
Derek Collison
3f39c244e4 Fixes for comments
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-21 17:37:40 -07:00
Ivan Kozlovic
bf3bc81722 Add route permissions
The `client.perms` struct is left unchanged. We simply map Import
and Export semantics to existing Publish and Subscribe ones.

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2018-06-21 17:04:10 -06:00
Derek Collison
17fecd4c9b Support CID in client INFO, allow filtering /connz by CID
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-21 15:23:15 -07:00
Derek Collison
c218d9b0ec Fix for #278
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-20 22:41:05 -07:00
Derek Collison
7e28af236b Support for RTT - #643
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-20 20:18:59 -07:00
Derek Collison
240e21ac5c Fix restart of server
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-19 22:32:50 -07:00
Derek Collison
37352edff0 Fixes #681
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-19 16:42:39 -07:00
Derek Collison
f7cb616cd2 Optimization per @cdevienne
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-12 13:38:13 -07:00
Derek Collison
4fb84e229c Avoid lock to server with client lock held
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-12 12:55:50 -07:00
Derek Collison
844f376140 Performance optimizations, beta3, fixes to various tests.
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-11 15:11:03 -07:00
Derek Collison
d603c53f67 Big message optimizations, slow consumer updates
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-04 17:45:05 -07:00
Derek Collison
6299e034cb dynamic buffer updates
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-04 17:45:05 -07:00
Derek Collison
4dd4d2bd9d lock users access
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-04 17:45:05 -07:00
Derek Collison
cc07d500dd new subs collector
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-04 17:45:05 -07:00
Derek Collison
50bb4b9a1b delivery last activity update 2018-06-04 17:45:05 -07:00
Derek Collison
955d8ee698 require 1.9 or above, bug fix in test 2018-06-04 17:45:05 -07:00
Derek Collison
3e2e8c9ce5 Fixed bug reusing test sub
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-04 17:45:05 -07:00
Derek Collison
d3213df7f1 Fix data race
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-04 17:45:05 -07:00
Derek Collison
26dafe464b Don't send route unsub with max
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-04 17:45:05 -07:00
Derek Collison
049db6e854 Support for queue subscriber retries over routes
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-04 17:45:05 -07:00
Derek Collison
30e31d5cd2 Test dynamic buffers, track short reads/writes
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-04 17:45:05 -07:00
Derek Collison
e9178f1f42 Performance tweaks
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-04 17:45:05 -07:00
Derek Collison
e64ac424c1 Check flushOutbound and snapshot write_deadline and max_pending
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-04 17:45:05 -07:00
Derek Collison
df574ce951 varz cluster empty when not defined
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-04 17:45:05 -07:00
Derek Collison
766ef3b0b1 Add max_pending and write_deadline to varz
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-04 17:45:05 -07:00
Derek Collison
50a99241ea Slow consumer updates and latency improvements.
Use pending bytes as slow consumer trigger, so reintroduce max_pending.
Improve latency with inplace flush calls when appropriate. Utilize simple
time budget for readLoop routine.

Signed-off-by: Derek Collison <derek@nats.io>
2018-06-04 17:45:05 -07:00
Derek Collison
481697ef67 New outbound data architecture
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-04 17:45:05 -07:00
Derek Collison
644376209b Added large payload pub/sub benchmark
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-04 17:45:05 -07:00
Derek Collison
25654a4632 Collect pub permissions into own function 2018-06-04 17:45:05 -07:00
Derek Collison
8502fb1edc Add fast slice for large psubs for Match
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-04 17:45:05 -07:00
Derek Collison
b9c73e96ee Changed sublist to avoid quadratic time in removal with large N
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-04 17:45:05 -07:00
Ivan Kozlovic
ac42bb0bb9 Remove route connection from temp map
When a route connection is created, the server will keep track
of the client structure in a special map until the route protocol
completes. This is meant so that if the server is shutdown before
the route is registered in routes map, the server can kick out
the connection's readLoop.

The route connection was correctly removed on success, but was
not for route connections that were not registered and dropped.
This was not causing any issue, but for correctness, doing the
removal now when server removes a route connection.

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2018-04-11 16:49:08 -06:00
Ivan Kozlovic
b0ebdbed7d Fixed typo 2018-04-09 09:14:21 -06:00
Ivan Kozlovic
9d11587e49 Add test to ensure server handles more than 1 signal
Also, try to fix flapping test
2018-04-06 17:24:41 -06:00
Ivan Kozlovic
40cf0107d6 Ensure sig handler routine returns on shutdown, turn it off in most tests
I noticed that when running the test suite, there would be a file
server/log1.txt left. This file is created by one of the config
reload test. Running this test individually was doing the proper
cleanup. I noticed that the Signal test that was checking
that files could be rotated was causing this side effect.
It turns out that none of the config reload tests were disabling
the signal handler (NoSigs=true), and since the go routine would
be left running, running the TestSignalToReOpenLogFile() test
would interact with an already finished test.

I put a thread dump in handleSignals() to track all tests that
were causing this function to start the go routine because NoSigs
was not set to true. I fixed all those tests. At this time, there
are only 2 tests that need to start the signal handler.

I have also fixed the code so that the signal handler routine select
on a server quitCh that is closed on shutdown so that this go routine
exit and is waiting on using the grWG wait group.
2018-04-06 17:14:02 -06:00
Gabriel Guzman
f7f333ed2f Update 2018-03-29 11:48:09 -04:00