Commit Graph

4525 Commits

Author SHA1 Message Date
Ivan Kozlovic
b7e1f66bea Merge pull request #2238 from nats-io/release_2_2_5
Release v2.2.5
v2.2.5
2021-05-20 16:33:12 -06:00
Ivan Kozlovic
087b7f92db Release v2.2.5
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2021-05-20 16:17:39 -06:00
Matthias Hanel
89476279b4 Merge pull request #2237 from nats-io/error-on-bad-api-prefix
[fixed] issue with invalid api prefix for source/mirror
2021-05-20 18:17:01 -04:00
Matthias Hanel
b93f5975e8 [fixed] issue with invalid api prefix for source/mirror
addressed by failing

Signed-off-by: Matthias Hanel <mh@synadia.com>
2021-05-20 18:01:49 -04:00
Ivan Kozlovic
b5ea80dd75 Merge pull request #2236 from nats-io/fix_2226
[FIXED] MQTT: session fails if the number servers below cluster size
2021-05-20 15:21:19 -06:00
Matthias Hanel
6f6f22e9a7 [added] pinned_cert option to tls block hex(sha256(spki)) (#2233)
* [added] pinned_cert option to tls block hex(sha256(spki))

When read form config, the values are automatically lower cased.
The check when seeing the values programmatically requires 
lower case to avoid having to alter the map at this point.

Signed-off-by: Matthias Hanel <mh@synadia.com>
2021-05-20 17:00:09 -04:00
Ivan Kozlovic
69e9c6cddd [FIXED] MQTT: session fails if the number servers below cluster size
Say with a cluster of 3, all MQTT assets are created with a replicas
of 3. However, when a server is shutdown, then any new MQTT client
will fail to connect because we try to create a session stream
with R(3), which leads to insufficient resources.

The longer term solution should be for the server to allow the
creation of an asset with a R() value that is bigger than the
current number of running servers as long as there is quorum.

For now, we will reduce the R() value for the sessions if we get
an "insufficient resources" error.

Note that the other assets still will use the compute R() based
on cluster size. So the first time that a client on a given
account is started, we will still need to have R() == cluster size
(at least for R(3)).

Partially resolves #2226

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2021-05-20 13:51:37 -06:00
Derek Collison
7936faf00e Merge pull request #2230 from nats-io/mapped
Mapped cross account test
2021-05-20 11:32:33 -07:00
Ivan Kozlovic
c1542ac9bb Merge pull request #2224 from BlizzTom/http-req-stats-panic-fix
[FIXED] Always initialize httpReqStats
2021-05-20 09:43:12 -06:00
Derek Collison
a4b10cd64c Merge pull request #2234 from nats-io/data-race-unsubscribe
Fix a data race.
2021-05-20 07:41:17 -07:00
Derek Collison
4bde91e9bd Fix a data race.
Signed-off-by: Derek Collison <derek@nats.io>
2021-05-20 07:31:55 -07:00
Derek Collison
8b50094fde Merge pull request #2227 from nats-io/docker_js
Fixed issue that we would stage snapshot restores in temporary storage.
2021-05-20 06:56:31 -07:00
Derek Collison
afec045b61 Merge pull request #2231 from nats-io/remove-peer
Changed remove peer logic to wait for RemovePeer entry to be replicated.
2021-05-20 06:55:58 -07:00
Derek Collison
a14f07f86c Fix flapping test
Signed-off-by: Derek Collison <derek@nats.io>
2021-05-19 19:09:49 -07:00
Derek Collison
9ccc843382 Removing peers should wait for RemovePeer entry replication.
Signed-off-by: Derek Collison <derek@nats.io>
2021-05-19 18:58:19 -07:00
Derek Collison
6e6edd0b47 Mapped cross account test
Signed-off-by: Derek Collison <derek@nats.io>
2021-05-19 15:58:27 -07:00
Derek Collison
a27b0dd673 Move default file and dir perms
Signed-off-by: Derek Collison <derek@nats.io>
2021-05-19 14:46:07 -07:00
Derek Collison
592066ed0b Fixed issue that we would stage snapshot restore in temporary storage.
This did not work when using our default docker image which does not have /tmp by default.

Signed-off-by: Derek Collison <derek@nats.io>
2021-05-19 11:36:20 -07:00
Derek Collison
64593db99c Merge pull request #2225 from nats-io/double_import
Under double import scenarios we could possibly map to the wrong subject.
2021-05-19 08:50:59 -07:00
Derek Collison
bd01f202af Under double import scenarios we could map to the wrong subject.
Signed-off-by: Derek Collison <derek@nats.io>
2021-05-19 05:59:24 -07:00
Tom Anderson
3ed10f4dde [Fixed] Always initialize httpReqStats
If you attempt to use the server http handlers it would panic unless you explicity called StartMonitoring

This isn't ideal to have a secondary http server running for those that are embedding nats and only want to host the http handlers on a pre-existing http server

Talked with @kozlovic via Slack about this
2021-05-18 17:06:42 -07:00
Derek Collison
49b62624d1 Merge pull request #2223 from nats-io/bad_consumer_state
Bad redelivered values on consumer state should not panic.
2021-05-18 09:26:52 -07:00
Derek Collison
ad32edfb59 If a consumer state has a redelivered that is not quite correct that should not be a corrupt state error.
Signed-off-by: Derek Collison <derek@nats.io>
2021-05-17 17:44:58 -07:00
Ivan Kozlovic
a5876b02de Merge pull request #2177 from nats-io/headers-adr
clarified client operations to promote cross-client compatibility
2021-05-13 12:50:49 -06:00
Alberto Ricart
62c19d07ad Clarified client operations to promote cross-client compatibility
- Changed to be case-sensitive by default
- Removed all references to the Go implementation
- Clarified how append in a case-insensitive context should behave

[ci skip]

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2021-05-13 12:22:52 -06:00
Ivan Kozlovic
924b314a79 Merge pull request #2219 from nats-io/release_2_2_4
Release v2.2.4
v2.2.4
2021-05-12 17:33:11 -06:00
Ivan Kozlovic
b6ca86c0c0 Release v2.2.4
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2021-05-12 17:08:15 -06:00
Ivan Kozlovic
89dec1f978 Merge pull request #2216 from nats-io/pdp/fix-jetstream-relocate
Error-checking & resilience for JetStream move
2021-05-12 16:16:24 -06:00
Ivan Kozlovic
a294517946 No need to fetch account if we detect that it is valid NKEY
Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2021-05-12 15:57:26 -06:00
Derek Collison
df8835d2d0 Stupid spelling where I introduced this..
Signed-off-by: Derek Collison <derek@nats.io>
2021-05-12 14:32:06 -07:00
Derek Collison
c9f933af50 Merge pull request #2218 from nats-io/si_ext
Fix stream source lookup and add in optional External to StreamSource
2021-05-12 12:58:31 -07:00
Derek Collison
060f2ec127 Fix stream source lookup and add in optional External to StreamSourceInfo.
Signed-off-by: Derek Collison <derek@nats.io>
2021-05-12 12:32:56 -07:00
Phil Pennock
452bec8e42 Don't fix dir perms yet, punt to separate issue 2021-05-12 13:16:10 -04:00
Phil Pennock
408e009ebb Error-checking, resilience & perms for JetStream move
Jetstream movement can fail, so return that error and abort start-up if there's
a failure in moving precious data, rather than serve without it.

Create the jetstream directory if needed.

Create directories for private data mode 0750 not 0755.

This does not handle a directory layout made with 2.2.3, but does support a
2.2.2 to 2.2.4 migration.  The empty directories made under 2.2.3 will still
hinder the renames we do here.
2021-05-12 12:32:21 -04:00
Derek Collison
dd91bc8b64 Merge pull request #2206 from nats-io/sd_fix
[FIXED] A store directory on disk without 'jetstream' could appear to lose assets on restart.
2021-05-12 08:56:21 -07:00
Derek Collison
30191ada96 Merge pull request #2214 from nats-io/issue_2213
[FIXED] #2213
2021-05-12 08:45:30 -07:00
Ivan Kozlovic
bc9ac88032 Merge pull request #2211 from nats-io/fix_2207
[FIXED] Websocket: Origin should be checked only if present
2021-05-12 09:13:40 -06:00
Derek Collison
a4061f4579 Merge pull request #2212 from nats-io/ln-resp
[FIXED] Issue #2205
2021-05-12 08:10:37 -07:00
Derek Collison
6e17b7a303 Fix for #2213
We do not want to report consumers that were created for the purpose of sources or mirrors.

Signed-off-by: Derek Collison <derek@nats.io>
2021-05-12 07:51:53 -07:00
Derek Collison
908b5ec304 Fix for #2205
When a response was needed from a leafnode cluster back to a hub, we had rules to disallow.
That rule was a bit dated and since we have cluster origin for leafnode clusters and that
is checked before the message is actually sent we could remove the old rule.

Signed-off-by: Derek Collison <derek@nats.io>
2021-05-12 06:49:11 -07:00
Ivan Kozlovic
854cc15ddb Fixed typos and updates checkOrigin() doc
Also fixed two flappers

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2021-05-11 19:36:46 -06:00
Ivan Kozlovic
da91b06218 [FIXED] Websocket: Origin should be checked only if present
There are 2 options, same_origin and allowed_origins that should
apply only to webbrowsers that set the Origin http header. If
the header is not present, the server should not fail direct
clients using websocket protocol, or leafnodes.

From spec:
https://datatracker.ietf.org/doc/html/rfc6455#section-1.6

   The WebSocket Protocol uses the origin model used by web browsers to
   restrict which web pages can contact a WebSocket server when the
   WebSocket Protocol is used from a web page.  Naturally, when the
   WebSocket Protocol is used by a dedicated client directly (i.e., not
   from a web page through a web browser), the origin model is not
   useful, as the client can provide any arbitrary origin string.

Resolves #2207

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2021-05-11 18:37:16 -06:00
Derek Collison
310105fb53 Merge pull request #2209 from nats-io/issue_2202
[FIXED] Issue #2202
2021-05-11 14:28:24 -07:00
Derek Collison
494ddeec5b Fix for #2202
When using multiple source streams from either different accounts or domains, the stream name could be the same and would cause bad behavior.

Signed-off-by: Derek Collison <derek@nats.io>
2021-05-11 13:12:10 -07:00
Derek Collison
51071c8aa9 Merge pull request #2201 from nats-io/bug_fixes
Fix for failing test
2021-05-11 07:54:51 -07:00
Derek Collison
58344c666a Update based on feedback.
Only log when actually moving an account in case other files start polluting the directory.
When failing to look up an account and we have a resolver check to see if its a valid account name before attempting lookup.

Signed-off-by: Derek Collison <derek@nats.io>
2021-05-11 07:54:10 -07:00
Ivan Kozlovic
9fee6c6997 Merge pull request #2203 from nats-io/fix_flappers
Fixed flappers
2021-05-11 08:47:48 -06:00
Derek Collison
bad9fba8ec Fix for store directory on disk prior to 2.2.3 without the 'jetstream' directory.
Signed-off-by: Derek Collison <derek@nats.io>
2021-05-10 19:24:58 -07:00
Matthias Hanel
6c6c4b9c04 Merge pull request #2204 from nats-io/mirror-dedupe
[added] check for mirror stream return error when  de dupe window is set
2021-05-10 20:47:03 -04:00
Derek Collison
06fc2f3f06 Fix data race
Signed-off-by: Derek Collison <derek@nats.io>
2021-05-10 17:29:24 -07:00