diff --git a/js.go b/js.go index 22ad5f34d..4cbc28273 100644 --- a/js.go +++ b/js.go @@ -1420,10 +1420,6 @@ func (js *js) subscribe(subj, queue string, cb MsgHandler, ch chan *Msg, isSync, // Some checks for pull subscribers if isPullMode { - // Check for bad ack policy - if o.cfg.AckPolicy == AckNonePolicy { - return nil, fmt.Errorf("nats: invalid ack mode for pull consumers: %s", o.cfg.AckPolicy) - } // No deliver subject should be provided if o.cfg.DeliverSubject != _EMPTY_ { return nil, ErrPullSubscribeToPushConsumer diff --git a/test/js_test.go b/test/js_test.go index e2a448e04..e5ad87d6f 100644 --- a/test/js_test.go +++ b/test/js_test.go @@ -686,6 +686,14 @@ func TestJetStreamSubscribe(t *testing.T) { t.Fatalf("Error on subscribe: %v", err) } sub.Unsubscribe() + + // Pull consumer with AckNone policy + sub, err = js.PullSubscribe("bar", "", nats.AckNone()) + if err != nil { + t.Fatalf("Error on subscribe: %v", err) + } + sub.Unsubscribe() + // Can't specify DeliverSubject for pull subscribers _, err = js.PullSubscribe("bar", "foo", nats.DeliverSubject("baz")) if err != nats.ErrPullSubscribeToPushConsumer {