mirror of
https://github.com/gogrlx/nats-server.git
synced 2026-04-02 03:38:42 -07:00
Skip processing consumer assignments after JS has shutdown (#4625)
Signed-off-by: Waldemar Quevedo <wally@nats.io>
This commit is contained in:
@@ -1593,6 +1593,10 @@ func (o *consumer) deleteNotActive() {
|
||||
defer ticker.Stop()
|
||||
for range ticker.C {
|
||||
js.mu.RLock()
|
||||
if js.shuttingDown {
|
||||
js.mu.RUnlock()
|
||||
return
|
||||
}
|
||||
nca := js.consumerAssignment(acc, stream, name)
|
||||
js.mu.RUnlock()
|
||||
// Make sure this is not a new consumer with the same name.
|
||||
|
||||
@@ -2705,6 +2705,11 @@ func (mset *stream) resetClusteredState(err error) bool {
|
||||
|
||||
if sa != nil {
|
||||
js.mu.Lock()
|
||||
if js.shuttingDown {
|
||||
js.mu.Unlock()
|
||||
return
|
||||
}
|
||||
|
||||
s.Warnf("Resetting stream cluster state for '%s > %s'", sa.Client.serviceAccount(), sa.Config.Name)
|
||||
// Now wipe groups from assignments.
|
||||
sa.Group.node = nil
|
||||
@@ -3893,6 +3898,7 @@ func (js *jetStream) processConsumerAssignment(ca *consumerAssignment) {
|
||||
s, cc := js.srv, js.cluster
|
||||
accName, stream, consumerName := ca.Client.serviceAccount(), ca.Stream, ca.Name
|
||||
noMeta := cc == nil || cc.meta == nil
|
||||
shuttingDown := js.shuttingDown
|
||||
var ourID string
|
||||
if !noMeta {
|
||||
ourID = cc.meta.ID()
|
||||
@@ -3903,7 +3909,7 @@ func (js *jetStream) processConsumerAssignment(ca *consumerAssignment) {
|
||||
}
|
||||
js.mu.RUnlock()
|
||||
|
||||
if s == nil || noMeta {
|
||||
if s == nil || noMeta || shuttingDown {
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user