You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
When use exact-once-delivery, and allowExcessMessages is false, nacking a number of messages equal to maxMessages subscriber stop of receive messages #7625
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
constsubscription=pubsub.subscription("subscription-name",{flowControl: {maxMessages: 2,allowExcessMessages: false}});console.log(`Listening for messages on subscription`);subscription.on('message',asyncmessage=>{constn=Number(message.data)console.log('Received message:',n);if(n%2===0){awaitmessage.ackWithResponse();console.log('ack successfully');}else{awaitmessage.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
Just want to extend gratitude for creating this issue, @Luisgustavom1 😄 I encountered the same issue without understanding what might have caused it. Nice to see the same issue appear in the github issues, so at least I know it's a bug. 🙌
I added a comment to the provided PR - I do think there's an oversight here with removing nack'd messages from the inventory, but things that are being modack'd legitimately shouldn't get removed. The code path in there is a little circuitous, but I think (without staring at it) that the leaser is going to end up calling back through Subscriber's modack method when extending deadlines.
This PR otherwise looks good to me. This package will be moving into our Node monorepo some time in the next month or two, so I'd like to get this closed (the issues will carry over, but not PRs).
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
maxMessagesandallowExcessMessagesWhen start send mensagens to topic, after two nacks (number equal of
maxMessages) subscriber stop of receiving new messagesA 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