Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(pubsub): deprecate synchronous mode #5910

Merged
merged 7 commits into from
Apr 26, 2022

Conversation

hongalex
Copy link
Member

@hongalex hongalex commented Apr 18, 2022

The Go Pub/Sub library is the only official Pub/Sub library that offers Synchronous mode, which switches the underlying poll mechanism for Receive to the unary Pull instead of the streaming StreamingPull API. This was significant in the past since StreamingPull had the limitation of "overpulling" from the server, since we didn't have server side flow control. Now that server side flow control has been out for a while, we are recommending to users to always use the more performant StreamingPull (or the default Synchronous = false) and will be removing Synchronous in a later version of the library. There is a plan to expose the Pull method as a separate method later once Synchronous is fully removed for those who do not wish to use the streaming API.

Also fixes #5012 by updating the synchronous mode documentation.

@hongalex hongalex requested review from a team as code owners April 18, 2022 22:45
@product-auto-label product-auto-label bot added size: s Pull request size is small. api: pubsub Issues related to the Pub/Sub API. labels Apr 18, 2022
@hongalex hongalex merged commit bda5179 into googleapis:main Apr 26, 2022
@hongalex hongalex deleted the fix-pubsub-deprecated-synchronous branch April 26, 2022 18:18
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. size: s Pull request size is small.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

pubsub: poor documentation regarding flow control ReceiveSettings
2 participants