diff --git a/.travis.yml b/.travis.yml index afc43b66..b556f49f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,3 @@ - os: linux dist: focal @@ -9,12 +8,12 @@ language: go go: # This should be quoted or use .x, but should not be unquoted. # Remember that a YAML bare float drops trailing zeroes. -- '1.19.6' + - '1.19.8' addons: apt: packages: - - rpm + - rpm go_import_path: github.com/nats-io/nats-server jobs: diff --git a/README.md b/README.md index 73eb034a..168a11b1 100644 --- a/README.md +++ b/README.md @@ -8,24 +8,24 @@ ## Documentation -* [Official Website](https://nats.io) -* [Official Documentation](https://docs.nats.io) -* [FAQ](https://docs.nats.io/reference/faq) -* Watch [a video overview](https://rethink.synadia.com/episodes/1/) of NATS. -* Watch [this video from SCALE 13x](https://www.youtube.com/watch?v=sm63oAVPqAM) to learn more about its origin story and design philosophy. +- [Official Website](https://nats.io) +- [Official Documentation](https://docs.nats.io) +- [FAQ](https://docs.nats.io/reference/faq) +- Watch [a video overview](https://rethink.synadia.com/episodes/1/) of NATS. +- Watch [this video from SCALE 13x](https://www.youtube.com/watch?v=sm63oAVPqAM) to learn more about its origin story and design philosophy. ## Contact -* [Twitter](https://twitter.com/nats_io): Follow us on Twitter! -* [Google Groups](https://groups.google.com/forum/#!forum/natsio): Where you can ask questions -* [Slack](https://natsio.slack.com): Click [here](https://slack.nats.io) to join. You can ask question to our maintainers and to the rich and active community. +- [Twitter](https://twitter.com/nats_io): Follow us on Twitter! +- [Google Groups](https://groups.google.com/forum/#!forum/natsio): Where you can ask questions +- [Slack](https://natsio.slack.com): Click [here](https://slack.nats.io) to join. You can ask question to our maintainers and to the rich and active community. ## Contributing If you are interested in contributing to NATS, read about our... -* [Contributing guide](https://nats.io/community/#contribute) -* [Report issues or propose Pull Requests](https://github.com/nats-io) +- [Contributing guide](https://nats.io/community/#contribute) +- [Report issues or propose Pull Requests](https://github.com/nats-io) [License-Url]: https://www.apache.org/licenses/LICENSE-2.0 [License-Image]: https://img.shields.io/badge/License-Apache2-blue.svg @@ -37,8 +37,8 @@ If you are interested in contributing to NATS, read about our... [Fossa-Image]: https://app.fossa.io/api/projects/git%2Bgithub.com%2Fnats-io%2Fnats-server.svg?type=shield [Build-Status-Url]: https://travis-ci.com/github/nats-io/nats-server [Build-Status-Image]: https://travis-ci.com/nats-io/nats-server.svg?branch=main -[Release-Url]: https://github.com/nats-io/nats-server/releases/tag/v2.9.15 -[Release-image]: https://img.shields.io/badge/release-v2.9.15-1eb0fc.svg +[Release-Url]: https://github.com/nats-io/nats-server/releases/tag/v2.9.16 +[Release-image]: https://img.shields.io/badge/release-v2.9.16-1eb0fc.svg [Coverage-Url]: https://coveralls.io/r/nats-io/nats-server?branch=main [Coverage-image]: https://coveralls.io/repos/github/nats-io/nats-server/badge.svg?branch=main [ReportCard-Url]: https://goreportcard.com/report/nats-io/nats-server diff --git a/go.mod b/go.mod index 5a831d0e..bcd9096b 100644 --- a/go.mod +++ b/go.mod @@ -3,15 +3,15 @@ module github.com/nats-io/nats-server/v2 go 1.19 require ( - github.com/klauspost/compress v1.16.3 + github.com/klauspost/compress v1.16.4 github.com/minio/highwayhash v1.0.2 github.com/nats-io/jwt/v2 v2.4.1 github.com/nats-io/nats.go v1.24.0 github.com/nats-io/nkeys v0.4.4 github.com/nats-io/nuid v1.0.1 go.uber.org/automaxprocs v1.5.1 - golang.org/x/crypto v0.7.0 - golang.org/x/sys v0.6.0 + golang.org/x/crypto v0.8.0 + golang.org/x/sys v0.7.0 golang.org/x/time v0.3.0 ) diff --git a/go.sum b/go.sum index ba55407a..1c27cc54 100644 --- a/go.sum +++ b/go.sum @@ -9,10 +9,8 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/klauspost/compress v1.16.0 h1:iULayQNOReoYUe+1qtKOqw9CwJv3aNQu8ivo7lw1HU4= -github.com/klauspost/compress v1.16.0/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= -github.com/klauspost/compress v1.16.3 h1:XuJt9zzcnaz6a16/OU53ZjWp/v7/42WcR5t2a0PcNQY= -github.com/klauspost/compress v1.16.3/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= +github.com/klauspost/compress v1.16.4 h1:91KN02FnsOYhuunwU4ssRe8lc2JosWmizWa91B5v1PU= +github.com/klauspost/compress v1.16.4/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA/g= github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= github.com/nats-io/jwt/v2 v2.4.1 h1:Y35W1dgbbz2SQUYDPCaclXcuqleVmpbRa7646Jf2EX4= @@ -28,11 +26,11 @@ github.com/prashantv/gostub v1.1.0 h1:BTyx3RfQjRHnUWaGF9oQos79AlQ5k8WNktv7VGvVH4 github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY= go.uber.org/automaxprocs v1.5.1 h1:e1YG66Lrk73dn4qhg8WFSvhF0JuFQF0ERIp4rpuV8Qk= go.uber.org/automaxprocs v1.5.1/go.mod h1:BF4eumQw0P9GtnuxxovUd06vwm1o18oMzFtK66vU6XU= -golang.org/x/crypto v0.7.0 h1:AvwMYaRytfdeVt3u6mLaxYtErKYjxA2OXjJ1HHq6t3A= -golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= +golang.org/x/crypto v0.8.0 h1:pd9TJtTueMTVQXzk8E2XESSMQDj/U7OUu0PqJqPXQjQ= +golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE= golang.org/x/sys v0.0.0-20190130150945-aca44879d564/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ= -golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU= +golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/server/accounts.go b/server/accounts.go index 6a391b87..8862ffb0 100644 --- a/server/accounts.go +++ b/server/accounts.go @@ -1977,7 +1977,14 @@ func (a *Account) removeAllServiceImportSubs() { // Add in subscriptions for all registered service imports. func (a *Account) addAllServiceImportSubs() { + var sis [32]*serviceImport + serviceImports := sis[:0] + a.mu.RLock() for _, si := range a.imports.services { + serviceImports = append(serviceImports, si) + } + a.mu.RUnlock() + for _, si := range serviceImports { a.addServiceImportSub(si) } } diff --git a/server/const.go b/server/const.go index 44b68175..c8bc0273 100644 --- a/server/const.go +++ b/server/const.go @@ -41,7 +41,7 @@ var ( const ( // VERSION is the current version for the server. - VERSION = "2.10.0-beta.32" + VERSION = "2.10.0-beta.33" // PROTO is the currently supported protocol. // 0 was the original diff --git a/server/server.go b/server/server.go index 50482a6d..428ee579 100644 --- a/server/server.go +++ b/server/server.go @@ -1741,13 +1741,23 @@ func (s *Server) fetchAccount(name string) (*Account, error) { } // The sub imports may have been setup but will not have had their // subscriptions properly setup. Do that here. + var needImportSubs bool + + acc.mu.Lock() if len(acc.imports.services) > 0 { if acc.ic == nil { acc.ic = s.createInternalAccountClient() acc.ic.acc = acc } + needImportSubs = true + } + acc.mu.Unlock() + + // Do these outside the lock. + if needImportSubs { acc.addAllServiceImportSubs() } + return acc, nil }