diff --git a/server/events.go b/server/events.go index 1a44eda9..e1fd581f 100644 --- a/server/events.go +++ b/server/events.go @@ -2266,8 +2266,26 @@ func (s *Server) debugSubscribers(sub *subscription, c *client, _ *Account, subj return } - _, acc, _, msg, err := s.getRequestInfo(c, msg) - if err != nil { + var ci ClientInfo + if len(hdr) > 0 { + if err := json.Unmarshal(getHeader(ClientInfoHdr, hdr), &ci); err != nil { + return + } + } + + var acc *Account + if ci.Service != _EMPTY_ { + acc, _ = s.LookupAccount(ci.Service) + } else if ci.Account != _EMPTY_ { + acc, _ = s.LookupAccount(ci.Account) + } else { + // Direct $SYS access. + acc = c.acc + if acc == nil { + acc = s.SystemAccount() + } + } + if acc == nil { return } diff --git a/server/events_test.go b/server/events_test.go index feb7b700..33ffeded 100644 --- a/server/events_test.go +++ b/server/events_test.go @@ -1220,6 +1220,7 @@ func TestAccountClaimsUpdates(t *testing.T) { claimUpdateSubj := fmt.Sprintf(subj, pub) nc.Publish(claimUpdateSubj, []byte(ajwt)) nc.Flush() + time.Sleep(200 * time.Millisecond) acc, _ = s.LookupAccount(pub) if acc.MaxActiveConnections() != 8 {