mirror of
https://github.com/gogrlx/nats-server.git
synced 2026-04-15 18:50:41 -07:00
Also make sure account works after reload
Signed-off-by: Derek Collison <derek@nats.io>
This commit is contained in:
@@ -1269,7 +1269,11 @@ func (s *Server) reloadAuthorization() {
|
||||
|
||||
// We will double check all JetStream configs on a reload.
|
||||
if checkJetStream {
|
||||
s.configAllJetStreamAccounts()
|
||||
if s.globalAccountOnly() {
|
||||
s.GlobalAccount().EnableJetStream(nil)
|
||||
} else {
|
||||
s.configAllJetStreamAccounts()
|
||||
}
|
||||
}
|
||||
|
||||
if res := s.AccountResolver(); res != nil {
|
||||
|
||||
@@ -10226,3 +10226,42 @@ func TestJetStreamServerReload(t *testing.T) {
|
||||
checkJSAccount()
|
||||
sendStreamMsg(t, nc, "22", "MSG: 22")
|
||||
}
|
||||
|
||||
func TestJetStreamConfigReloadWithGlobalAccount(t *testing.T) {
|
||||
template := `
|
||||
authorization {
|
||||
users [
|
||||
{user: anonymous}
|
||||
{user: user1, password: %s}
|
||||
]
|
||||
}
|
||||
no_auth_user: anonymous
|
||||
jetstream: enabled
|
||||
`
|
||||
conf := createConfFile(t, []byte(fmt.Sprintf(template, "pwd")))
|
||||
defer os.Remove(conf)
|
||||
|
||||
s, _ := RunServerWithConfig(conf)
|
||||
defer s.Shutdown()
|
||||
|
||||
mset, err := s.GlobalAccount().AddStream(&server.StreamConfig{Name: "foo"})
|
||||
if err != nil {
|
||||
t.Fatalf("Unexpected error adding stream: %v", err)
|
||||
}
|
||||
defer mset.Delete()
|
||||
|
||||
if err := ioutil.WriteFile(conf, []byte(fmt.Sprintf(template, "pwd2")), 0666); err != nil {
|
||||
t.Fatalf("Error writing config: %v", err)
|
||||
}
|
||||
|
||||
if err := s.Reload(); err != nil {
|
||||
t.Fatalf("Error during config reload: %v", err)
|
||||
}
|
||||
|
||||
// Try to add a new stream to the global account
|
||||
mset2, err := s.GlobalAccount().AddStream(&server.StreamConfig{Name: "bar"})
|
||||
if err != nil {
|
||||
t.Fatalf("Unexpected error adding stream: %v", err)
|
||||
}
|
||||
defer mset2.Delete()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user