Skip to content

Conversation

@hongalex
Copy link
Member

Initially used in issue #10437, this introduces the ability to set the number of simultaneous callbacks independent of MaxOutstandingMessages.

In general, it makes sense that the number of callbacks should be equal to the number of messages held by the client (which is the number of messages
delivered by the server), the latter of which is predominantly enforced by server side flow control.

There are some cases where it makes sense for these values to differ:

Callbacks > server side flow control

Users may need to have an additional buffer to process messages that exceed flow control. This might be because they are using multiple
streams and flow control is currently set per stream.

Callbacks < server side flow control

Sometimes users want to pull messages early, but restrict the number of callbacks. This could result in fewer network calls in the
form of stream.Read().
Note: When the messages are pulled early this way but not invoked, the timer for the message ack expiration of the
message continues to tick.
It would be best to ensure that the extra pulled messages are processed fast to avoid message expiration.

@product-auto-label product-auto-label bot added the api: pubsub Issues related to the Pub/Sub API. label Oct 31, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api: pubsub Issues related to the Pub/Sub API.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant