Suppress multiple out of space warnings

Signed-off-by: Derek Collison <derek@nats.io>
This commit is contained in:
Derek Collison
2021-03-13 16:22:00 -05:00
parent e776013bf0
commit e74eaa02c4

View File

@@ -83,6 +83,7 @@ type jetStream struct {
apiCalls int64
apiSubs *Sublist
disabled bool
oos bool
}
// This represents a jetstream enabled account.
@@ -253,17 +254,32 @@ func (s *Server) setupJetStreamExports() {
}
}
func (s *Server) jetStreamOOSPending() (wasPending bool) {
s.mu.Lock()
js := s.js
s.mu.Unlock()
if js != nil {
js.mu.Lock()
wasPending = js.oos
js.oos = true
js.mu.Unlock()
}
return wasPending
}
func (s *Server) setJetStreamDisabled() {
s.mu.Lock()
js := s.js
s.mu.Unlock()
js.mu.Lock()
js.disabled = true
js.mu.Unlock()
if js != nil {
js.mu.Lock()
js.disabled = true
js.mu.Unlock()
}
}
func (s *Server) handleOutOfSpace(stream string) {
if s.JetStreamEnabled() {
if s.JetStreamEnabled() && !s.jetStreamOOSPending() {
s.Errorf("JetStream out of space, will be DISABLED")
go s.DisableJetStream()