diff --git a/jetstream/consumer.go b/jetstream/consumer.go index 1fb6fb5c6..324327f90 100644 --- a/jetstream/consumer.go +++ b/jetstream/consumer.go @@ -77,6 +77,9 @@ func (p *pullConsumer) Info(ctx context.Context) (*ConsumerInfo, error) { } return nil, resp.Error } + if resp.Error == nil && resp.ConsumerInfo == nil { + return nil, ErrConsumerNotFound + } p.info = resp.ConsumerInfo return resp.ConsumerInfo, nil @@ -188,6 +191,9 @@ func getConsumer(ctx context.Context, js *jetStream, stream, name string) (Consu } return nil, resp.Error } + if resp.Error == nil && resp.ConsumerInfo == nil { + return nil, ErrConsumerNotFound + } cons := &pullConsumer{ jetStream: js, diff --git a/jetstream/ordered.go b/jetstream/ordered.go index 296ea6bf9..e462981e4 100644 --- a/jetstream/ordered.go +++ b/jetstream/ordered.go @@ -519,6 +519,9 @@ func (c *orderedConsumer) Info(ctx context.Context) (*ConsumerInfo, error) { } return nil, resp.Error } + if resp.Error == nil && resp.ConsumerInfo == nil { + return nil, ErrConsumerNotFound + } c.currentConsumer.info = resp.ConsumerInfo return resp.ConsumerInfo, nil diff --git a/js.go b/js.go index 7fdb0131c..444278e0f 100644 --- a/js.go +++ b/js.go @@ -3223,6 +3223,9 @@ func (js *js) getConsumerInfoContext(ctx context.Context, stream, consumer strin } return nil, info.Error } + if info.Error == nil && info.ConsumerInfo == nil { + return nil, ErrConsumerNotFound + } return info.ConsumerInfo, nil }