Skip to content

When use exact-once-delivery, and allowExcessMessages is false, nacking a number of messages equal to maxMessages subscriber stop of receive messagesΒ #2070

@Luisgustavom1

Description

@Luisgustavom1

Please make sure you have searched for information in the following guides.

A screenshot that you have tested with "Try this API".

Video reproducing bug

Screen.Recording.2025-07-19.at.08.53.06.mov

Link to the code that reproduces this issue. A link to a public Github Repository or gist with a minimal reproduction.

https://github.com/Luisgustavom1/pubsub-bug-reprodution

A step-by-step description of how to reproduce the issue, based on the linked reproduction.

Start a subscriber, setting flowControl, with maxMessages and allowExcessMessages

const subscription = pubsub.subscription("subscription-name", {
    flowControl: {
      maxMessages: 2,
      allowExcessMessages: false
    }
  });
  console.log(`Listening for messages on subscription`);
  subscription.on('message', async message => {
    const n = Number(message.data)
    console.log('Received message:', n);

    if (n % 2 === 0) {
      await message.ackWithResponse();
      console.log('ack successfully');
    } else {
      await message.nackWithResponse();
      console.log('nack successfully');
    }
  });

When start send mensagens to topic, after two nacks (number equal of maxMessages) subscriber stop of receiving new messages

A clear and concise description of what the bug is, and what you expected to happen.

Subscriber should continue receiving messages

A clear and concise description WHY you expect this behavior, i.e., was it a recent change, there is documentation that points to this behavior, etc. **

Its a bug because subscriber will never receive any more messages

Metadata

Metadata

Assignees

No one assigned

    Labels

    api: pubsubIssues related to the googleapis/nodejs-pubsub API.priority: p2Moderately-important priority. Fix may not be included in next release.type: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions