Commit Graph

2370 Commits

Author SHA1 Message Date
Ivan Kozlovic
ae99fc3a2a Fixed issues reported by staticcheck
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2019-12-04 17:04:58 -07:00
Ivan Kozlovic
8b90c966c1 Merge pull request #1204 from nats-io/fix_acc_unsub_service_reply
[FIXED] Prevent A- for account that has service reply subscription
2019-11-26 17:09:28 -07:00
Ivan Kozlovic
a0f8bd112e [FIXED] Prevent A- for account that has service reply subscription
Prevent sending an A- for a given account if the server has this
account registered and an internal service reply subscription.

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2019-11-26 16:21:36 -07:00
Ivan Kozlovic
1930159087 Merge pull request #1202 from nats-io/add_log_size_limit
[ADDED] LogSizeLimit option
2019-11-21 19:11:08 -07:00
Ivan Kozlovic
a49c8b5f6a Merge pull request #1201 from nats-io/tune_tests_for_windows
Tune some code/test for Windows
2019-11-21 19:10:52 -07:00
Ivan Kozlovic
1068857fd2 Update computeRTT to check for <= 0
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2019-11-21 18:09:27 -07:00
Ivan Kozlovic
f046949c50 Fix ExpandPath test
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2019-11-21 17:16:51 -07:00
Ivan Kozlovic
e9a134ac48 [ADDED] LogSizeLimit option
Allow auto-rotation of log files when the size is greater than
configured limit.
The backup files have the same name than the original log file
name with the following suffix:

<log name>.yyyy.mm.dd.hh.mm.ss.micros

where:
- yyyy   is the year
- mm     is the month
- dd     is the day
- hh     is the hour
- mm     is the minute
- ss     is the second
- micros is the number of microseconds (to help avoid duplicates)

Resolves #1197

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2019-11-21 15:26:33 -07:00
Ivan Kozlovic
63138509f7 Tune some code/test for Windows
Running test suite on a Windows VM, I notice several failures.
Updated the compute of the RTT to be at least 1ns. I think that
this is just an issue with the VM I am running, but that change
will have no impact for normal situations (since setting the rtt
to the very minimum duration (1ns) instead of 0) and will prevent
some tests from failing.

Because of those same timer granularity issues, I had to add some
delays between some actions in order for time.Sub()/Since() to
actually report something more than 0.

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2019-11-21 14:32:46 -07:00
Ivan Kozlovic
679bedafd9 Merge pull request #1200 from nats-io/release_2_1_2
Release 2.1.2
v2.1.2
2019-11-18 15:58:46 -07:00
Ivan Kozlovic
4a03b6382e Release 2.1.2
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2019-11-18 15:22:52 -07:00
Ivan Kozlovic
da5ed6eaa6 Merge pull request #1199 from nats-io/add_leaf_split_buffer_test
Added split test buffer that shows the subject overwrite
2019-11-18 14:57:26 -07:00
Ivan Kozlovic
53fd02919b Added split test buffer that shows the subject overwritte
With this test, and with previous cloneArg() code, the parsing
will cause subject to become "fff" because c.pa.subject points
to somewhere in the underlying buffer that is now overwritten
with the body payload. With proper cloneArg(), the c.pa.subject
(and other) point to the copy of argBuf.

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2019-11-18 14:46:09 -07:00
Ivan Kozlovic
4ab5bc7b21 Merge pull request #1198 from nats-io/fix_clone_msg_args
[FIXED] Handling of split buffer for LEAF messages
2019-11-18 13:53:45 -07:00
Ivan Kozlovic
977c290bf2 [FIXED] Handling of split buffer for LEAF messages
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2019-11-18 11:55:18 -07:00
Derek Collison
4f12e9f9ee Bumped to 2.1.1-RC5 [ci ckip]
Signed-off-by: Derek Collison <derek@nats.io>
2019-11-17 17:48:04 -08:00
Derek Collison
07253c0517 Merge pull request #1196 from nats-io/daisy
Allow interest propagation with daisy-chained leafnodes
2019-11-17 17:46:23 -08:00
Derek Collison
07da68ce56 Allow interest propagation with daisy chained leafnodes
Signed-off-by: Derek Collison <derek@nats.io>
2019-11-17 17:35:20 -08:00
Ivan Kozlovic
2eee43bf8e Merge pull request #1195 from nats-io/fix_leaf_gw_sub
Make the Leafnode internal sub on _GR_.>
2019-11-17 17:58:32 -07:00
Ivan Kozlovic
e0bc81d0ed Make the Leafnode internal sub on _GR_.>
This is needed for mapped gateway replies. We had used an extra
token when implementing the new prefix, but it was then removed,
but the leafnode subscription on _GR_.*.*.*.> was not updated.
We now subscribe on _GR_.>
There was a test that was passing because we were using inboxes
that caused the pattern to match. Replaced with single token
reply so that it would have caught this bug.

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2019-11-17 17:37:09 -07:00
Derek Collison
006a2a94fc Merge pull request #1194 from nats-io/latency
Need return when acc not found
2019-11-17 09:38:50 -08:00
Derek Collison
07ab23af0d Need return when acc not found
Signed-off-by: Derek Collison <derek@nats.io>
2019-11-17 09:24:34 -08:00
Derek Collison
d9bf0fda64 Bump version [ci ckip]
Signed-off-by: Derek Collison <derek@nats.io>
2019-11-16 18:34:46 -08:00
Derek Collison
7b1bea61e2 Merge pull request #1192 from nats-io/load_account
Do not fetch accounts on system events.
2019-11-16 18:33:23 -08:00
Derek Collison
f60266bc2e Merge pull request #1190 from nats-io/import_reply
Introduced wildcard handling of _R_ mapped replies.
2019-11-16 18:07:18 -08:00
Derek Collison
093b57ed40 Do not fetch accounts on system events.
Noticed we would lookup accounts, but would also fetch them when tracking remote connections, etc.

Signed-off-by: Derek Collison <derek@nats.io>
2019-11-16 18:05:42 -08:00
Ivan Kozlovic
263d3d868e Use special client to send route interest on wildcard _R_
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2019-11-16 18:56:59 -07:00
Derek Collison
b2cbde2616 Match comment about hash size
Signed-off-by: Derek Collison <derek@nats.io>
2019-11-16 17:56:06 -08:00
Ivan Kozlovic
9c7adf694e Merge pull request #1191 from nats-io/acc_locking_fixes
[FIXED] Some accounts locking issues
2019-11-16 18:27:29 -07:00
Ivan Kozlovic
0bfd03091b Clean tmp accounts map when race gets duplicate
Added check to the test to ensure that tmp map is empty.

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2019-11-16 18:14:23 -07:00
Ivan Kozlovic
9b837813b1 Process service replies in gateway inbound
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2019-11-16 17:43:44 -07:00
Ivan Kozlovic
3e1728d623 [FIXED] Some accounts locking issues
- Risk of deadlock when checking if issuer claim are trusted. There
  was a RLock() in one thread, then a request for Lock() in another
  that was waiting for RLock() to return, but the first thread was
  then doing RLock() which was not acquired because this was blocked
  by the Lock() request (see e2160cc571)

- Use proper account/locking mode when checking if stream/service
  exports/signer have changed.

- Account registration race (regression from https://github.com/nats-io/nats-server/pull/890)

- Move test from #890 to "no race" test since only then could it detect
  the double registration.

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2019-11-16 16:59:38 -07:00
Derek Collison
abc7074d86 Fix race
Signed-off-by: Derek Collison <derek@nats.io>
2019-11-16 14:03:03 -08:00
Derek Collison
747ba1dc09 Change , remove T placeholder, 8 to 6 on hash len
Signed-off-by: Derek Collison <derek@nats.io>
2019-11-16 13:06:56 -08:00
Derek Collison
6ad8287bbe Introduced wildcard handling of _R_ mapped replies.
We had too much special processing, so reduced to a single wildcard
which will propagate across routes and gateways and is consistent
with gateway handling of globally routed subjects and timeouts.

Signed-off-by: Derek Collison <derek@nats.io>
2019-11-16 12:50:53 -08:00
Derek Collison
d5a8f0ef24 Merge pull request #1189 from nats-io/panic
Fix possible panic on nil sublist.
2019-11-15 17:51:34 -08:00
Derek Collison
954a780421 Fix possible panic on nil sublist.
We may have the case that the account is held in tmpAccounts but does not have a sublist. When this happens if we process as RS+ and do LookupAccount and get it from the tmpAccount and before it was registered the route code could try to do an insert on the sl.

Signed-off-by: Derek Collison <derek@nats.io>
2019-11-15 17:11:52 -08:00
Ivan Kozlovic
d85f9a9388 Fixed bug with duplicate route and GW replies
When a duplicate route is detected and closed, we need to clear
the route's hash in order to prevent the removal from the
server's routeByHash map.

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2019-11-15 17:24:50 -07:00
Ivan Kozlovic
d046f7945f Bump defaultGatewayRecentSubExpiration and RC2
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2019-11-15 10:06:38 -07:00
Ivan Kozlovic
c2d1b0becd Merge pull request #1186 from nats-io/invoke_shutdown_on_ctrl_c
Shutdown on Ctrl+C
2019-11-14 20:12:58 -07:00
Ivan Kozlovic
bdf5cf63b3 Shutdown on Ctrl+C
Changed code on Windows to not use svc code if running in interactive
mode. The original code was running svc.debug.Run() which uses service
code (Execute()) but from the command line. We don't need that.

Also reduced salt on bcrypt password for a config file that started
to cause failures due to test taking too long to finish.

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2019-11-14 20:05:32 -07:00
Derek Collison
afeaebb676 Bumped to 2.1.1-RC1 [ci ckip]
Signed-off-by: Derek Collison <derek@nats.io>
2019-11-14 16:29:28 -08:00
Derek Collison
c2d2307670 Some tweaks for performance
Signed-off-by: Derek Collison <derek@nats.io>
2019-11-14 14:19:50 -08:00
Derek Collison
ebac0cc1a4 Merge pull request #1185 from nats-io/leaks
Fixed a bug where we leaked service imports.
2019-11-14 13:31:54 -08:00
Derek Collison
3330820502 Fixed a bug where we leaked service imports. Also prior this would have leaked subscriptions as well.
Signed-off-by: Derek Collison <derek@nats.io>
2019-11-14 13:29:17 -08:00
Ivan Kozlovic
b8b4087613 Merge pull request #1184 from nats-io/allow_system_connection_publish_gw_prefix
Relax check on reserved GW prefix for system clients
2019-11-11 17:49:49 -07:00
Ivan Kozlovic
3e5ede1d64 Relax check on reserved GW prefix for system clients
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2019-11-11 17:43:14 -07:00
Ivan Kozlovic
6caef1bb9b Merge pull request #1183 from nats-io/fix_reply_across_gw
Work on Gateways reply mapping
2019-11-11 15:57:29 -07:00
Ivan Kozlovic
b561bde366 Alternate approach to GW reply mapping expiration
Use centralized sync map to gather *client that have GW replies.
Tested with concurrent receiving clients and perf is as good as
with timer per client but reduces need of that timer per client
object.

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2019-11-11 13:36:24 -07:00
Ivan Kozlovic
cacfb4a08c Fix some gateway tests
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2019-11-08 19:07:57 -07:00