Commit Graph

1409 Commits

Author SHA1 Message Date
Ivan Kozlovic
da89364d9d Merge pull request #666 from nats-io/remove_route_conn_from_tmp_clients
Remove route connection from temp map
2018-04-11 17:10:07 -06: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
e179e31bf2 Merge pull request #665 from nats-io/turnoff_signal_handler_in_some_tests
Ensure sig handler routine returns on shutdown, turn it off in most tests
2018-04-09 09:22:31 -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
Derek Collison
e8b524aed6 Merge pull request #661 from gabeguz/master
Add pse file for OpenBSD
2018-03-29 11:37:02 -07:00
Gabriel Guzman
f7f333ed2f Update 2018-03-29 11:48:09 -04:00
Gabriel Guzman
a29b08073e Add pse file for openbsd 2018-03-29 09:41:45 -04:00
Derek Collison
9b90e7d665 Merge pull request #658 from xizhao/patch-1
doc(readme): add license scan status
2018-03-26 19:23:21 -07:00
Kevin Wang
8eb96feecb doc(readme): add license scan status 2018-03-26 13:48:03 -07:00
Ivan Kozlovic
effc6b1f3f Merge pull request #657 from nats-io/route-port-display
[FIXED] Random cluster port displayed as 0 instead of actual value
2018-03-23 17:17:48 -06:00
Ivan Kozlovic
c2a095581e Bump version for dev [ci skip] 2018-03-23 17:17:13 -06:00
Alberto Ricart
d76ae5c6e3 FIX to display actual port selected if -1 is provided in a cluster url such as --cluster nats://localhost:-1. 2018-03-23 17:36:33 -05:00
Ivan Kozlovic
add6d7930a Merge pull request #656 from nats-io/fix_lastactivity_test
Fix last activity monitoring test
v1.1.0
2018-03-23 14:41:51 -06:00
Ivan Kozlovic
705d8f5fe8 Fix last activity monitoring test
This test originally used only 1 connection. It was then modified
to use another connection to check the publishing effect into
the last activity. However, when polling for connz we were using
[0], but that may not necessarily match the connection we were
checking.
I don't think that there was a need for a new connection in this
test, so use a single connection.
2018-03-23 14:20:16 -06:00
Ivan Kozlovic
c587035a49 Merge pull request #655 from nats-io/next_release
Prepare for release 1.1.0
2018-03-23 14:04:21 -06:00
Ivan Kozlovic
fb972bd0fc Remove ssl_required references 2018-03-23 13:40:10 -06:00
Ivan Kozlovic
8cb7c18204 Prepare for release 1.1.0 2018-03-23 11:53:04 -06:00
Derek Collison
55730374a9 Merge pull request #653 from wallyqs/conf-json-compat
Proposal: Improve compatibility with JSON in configuration
2018-03-21 11:24:17 -07:00
Waldemar Quevedo
c45d2f5b8b Improve compatibility with JSON in config parser
The configuration format from the server is almost already a superset
of JSON with exception of two cases:

1) trailing commas from values at the top level (although they are
   supported inside of maps)

2) initial and final brackets on the top level section.

This change relaxes the two cases above to just skip those tokens so
that the config syntax can also support valid JSON objects for
configuring the server which might be helpful when generating it
programmatically.
2018-03-21 01:03:41 -07:00
Derek Collison
b2a9ed97d6 Merge pull request #650 from nats-io/cncf
Move to CNCF and Apache 2 License
2018-03-16 16:23:10 -07:00
Derek Collison
2a2d88cd1f Updated PR template 2018-03-16 15:56:22 -07:00
Derek Collison
3cd4a24f2f Updated nuid 2018-03-16 15:46:14 -07:00
Derek Collison
219b8538ca Added owners 2018-03-16 15:28:22 -07:00
Ivan Kozlovic
c16a1dbcc7 Merge pull request #638 from nats-io/fix_632
[IMPROVED] Better attempt at delivering messages to queue subscriptions
2018-03-16 16:01:38 -06:00
Ivan Kozlovic
8d539a4bb0 Merge pull request #615 from nats-io/varz_func
[ADDED] Monitor endpoints as server methods (Varz(), etc..)
2018-03-16 15:46:01 -06:00
Ivan Kozlovic
4e9d785423 Capture possible error in Atoi conversion of url params 2018-03-16 10:42:52 -06:00
Derek Collison
00901acc78 Update license to Apache 2 2018-03-15 22:31:07 -07:00
Ivan Kozlovic
4aa04a6697 Merge pull request #644 from nats-io/fix-reload-open-files
[FIXED] Close old log files when reloading (log rotation)
2018-03-15 17:55:39 -06:00
Ivan Kozlovic
982643ad44 Merge pull request #641 from nats-io/fix_sublist_race
[FIXED] RACE in Sublist
2018-03-15 15:48:30 -06:00
Ivan Kozlovic
3bfb2d7cb4 Variant of copy and add some tests
Use the append([]*subscription(nil), qr...) notation instead of
make()+copy().
2018-03-15 14:54:10 -06:00
Derek Collison
1aef973099 Merge pull request #648 from caniszczyk/patch-2
Add CNCF Code of Conduct
2018-03-15 11:50:41 -07:00
Chris Aniszczyk
3ea27668cd Add CNCF Code of Conduct
per CNCF project requirements
2018-03-15 11:38:25 -07:00
Derek Collison
6ca6f5de19 Merge pull request #645 from caniszczyk/patch-1
Add reference to CNCF
2018-03-15 11:35:29 -07:00
Chris Aniszczyk
0d511fc7bc Add reference to CNCF 2018-03-15 11:23:30 -07:00
Colin Sullivan
920cdddfc8 Change log level to error 2018-03-14 10:29:44 -06:00
Colin Sullivan
bc59ad6ba7 Fix capitalization in log statement 2018-03-13 19:12:41 -06:00
Colin Sullivan
508ce2bcf3 implement io.Closer interface in the logger 2018-03-13 19:08:45 -06:00
Colin Sullivan
f7368bf903 Add config files 2018-03-13 15:38:52 -06:00
Colin Sullivan
182be3feb9 Close files on reload. 2018-03-13 15:31:45 -06:00
Ivan Kozlovic
a3e8fba6b3 Add options for each monitoring endpoint and added Connz
Even for endpoints that currently do not need options (such as
Subsz and Varz), I added some options and a return of error so that
we don't break the API if we ever need to add options for those.
2018-03-13 10:30:46 -06:00
Ivan Kozlovic
6f9983291c Update comments 2018-03-12 15:53:11 -06:00
Ivan Kozlovic
fbfa8772ca Merge pull request #639 from nats-io/add_bench_for_routed_queue
Added benchmark for routed queues
2018-03-12 15:44:43 -06:00
Ivan Kozlovic
eb28cf0eda Do the copy only of the array of subscriptions that we add to the results
Instead of making a copy of the whole results, make sure that
we don't pass a sublist array to the result but its copy.
2018-03-10 08:35:15 -07:00
Ivan Kozlovic
c4470d4e68 Added Subsz and Routez and updated tests
In tests, replaced all code doing http.Get, etc.. with a readBody
helper function.
Combine server functions and monitor handler tests in one test
with a for loop to try both modes on a given test.

Still need to add Connz.
2018-03-09 20:48:43 -07:00
Tyler Treat
6c7d1dc847 Add Varz server method
Fixes #612 by adding a new Varz method to the Server. This can be used
by processes embedding gnatsd to access the Varz struct without relying
on the HTTP API. This starts with just Varz but the same pattern could
be expanded to other monitoring APIs in the future.
2018-03-09 19:37:56 -07:00
Ivan Kozlovic
668229fc1d [FIXED] RACE between sublist remove and go through match results
This would manifest for instance when server tries to send messages
to queue subscribers and a subscription is unsubsribed at the same
time.

Resolves #640
2018-03-09 19:05:33 -07:00
Ivan Kozlovic
ad1605fb96 Added benchmark for routed queues 2018-03-09 17:49:10 -07:00
Ivan Kozlovic
ee8f001131 [IMPROVED] Better attempt at delivering messages to routed queue subs
This PR is based out of #633. It imroves parsing QRSID so that the
TestRouteQueueSemantics test now passes (when dealing with malformed
QRSID).
A test similar to what is reported in #632 was also added. This
test however, uncovers a race condition that will be fixed in a
separate PR.

Resolves #632
2018-03-09 14:45:52 -07:00