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

Set StreamingPullRequest#client_id with UUID scoped to client instance #5924

Closed
quartzmo opened this issue May 6, 2020 · 0 comments · Fixed by #5925
Closed

Set StreamingPullRequest#client_id with UUID scoped to client instance #5924

quartzmo opened this issue May 6, 2020 · 0 comments · Fixed by #5925
Assignees
Labels
api: pubsub Issues related to the Pub/Sub API. type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design.

Comments

@quartzmo
Copy link
Member

quartzmo commented May 6, 2020

The problem

In this client, stream disconnects and reconnects are handled seamlessly. From the user perspective, the subscriber still exists and nothing has changed. However, it is possible for ordering key affinity to change in these situations. A better experience for users would minimize the churn in affinity when streams disconnect and reconnect.

Describe the solution you'd like

Set the client_id field on StreamingPullRequest to a UUID value scoped to the client instance. All streams coming from the client will use the same ID.

See googleapis/java-pubsub#77 for example implementation.

@quartzmo quartzmo self-assigned this May 6, 2020
@quartzmo quartzmo added api: pubsub Issues related to the Pub/Sub API. type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design. labels May 6, 2020
quartzmo added a commit to quartzmo/google-cloud-ruby that referenced this issue May 6, 2020
quartzmo added a commit that referenced this issue May 8, 2020
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. type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design.
Projects
None yet
1 participant