René's URL Explorer Experiment


Title: fix: recover watch stream on more error types by crwilcox · Pull Request #9995 · googleapis/google-cloud-python · GitHub

Open Graph Title: fix: recover watch stream on more error types by crwilcox · Pull Request #9995 · googleapis/google-cloud-python

X Title: fix: recover watch stream on more error types by crwilcox · Pull Request #9995 · googleapis/google-cloud-python

Description: Google Cloud Client Libraries for Python. Contribute to googleapis/google-cloud-python development by creating an account on GitHub.

Open Graph Description: Watch Retry is more permissive in Go. This PR replicates that in Python. Fixes #9890 and b/144734355

X Description: Watch Retry is more permissive in Go. This PR replicates that in Python. Fixes #9890 and b/144734355

Opengraph URL: https://github.com/googleapis/google-cloud-python/pull/9995

X: @github

direct link

Domain: github.com

route-pattern/_view_fragments/voltron/pull_requests/show/:user_id/:repository/:id/pull_request_layout(.:format)
route-controllervoltron_pull_requests_fragments
route-actionpull_request_layout
fetch-noncev2:23989fa6-3277-2b02-0294-5f0c256dc463
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idDCCE:322E35:6DB8CDA:99EA168:6A505FEA
html-safe-noncec92ceb3d5292f3a7f0ac66f010acb201b397398310cb3f5f1ab7629fd2d22bc0
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJEQ0NFOjMyMkUzNTo2REI4Q0RBOjk5RUExNjg6NkE1MDVGRUEiLCJ2aXNpdG9yX2lkIjoiNDcyMzMxMjQ5OTQwNjk1NDQ3NCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmac06ced1850329dea61705fd63690c1f9d3b8f55a886a49c1af39d331288432a53
hovercard-subject-tagpull_request:354742365
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/pull_requests_fragments/pull_request_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/voltron/pull_requests/show/googleapis/google-cloud-python/9995/pull_request_layout
twitter:imagehttps://opengraph.githubassets.com/fb698f275033847649e7964424f1975628c8ed2243f562209d93af86e5706533/googleapis/google-cloud-python/pull/9995
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/fb698f275033847649e7964424f1975628c8ed2243f562209d93af86e5706533/googleapis/google-cloud-python/pull/9995
og:image:altWatch Retry is more permissive in Go. This PR replicates that in Python. Fixes #9890 and b/144734355
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernamecrwilcox
hostnamegithub.com
expected-hostnamegithub.com
Noned6dc8294eb500fa36bbc57472d61fe87c522f9c3c1d64f70f4926f66a66a7efb
turbo-cache-controlno-cache
go-importgithub.com/googleapis/google-cloud-python git https://github.com/googleapis/google-cloud-python.git
octolytics-dimension-user_id16785467
octolytics-dimension-user_logingoogleapis
octolytics-dimension-repository_id16316451
octolytics-dimension-repository_nwogoogleapis/google-cloud-python
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id16316451
octolytics-dimension-repository_network_root_nwogoogleapis/google-cloud-python
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release7ac0ad2f2c7e4b9056617355fd9e33e22b0c8df9
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/googleapis/google-cloud-python/pull/9995#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fgoogleapis%2Fgoogle-cloud-python%2Fpull%2F9995
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fgoogleapis%2Fgoogle-cloud-python%2Fpull%2F9995
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fpull_requests_fragments%2Fpull_request_layout&source=header-repo&source_repo=googleapis%2Fgoogle-cloud-python
Reloadhttps://github.com/googleapis/google-cloud-python/pull/9995
Reloadhttps://github.com/googleapis/google-cloud-python/pull/9995
Reloadhttps://github.com/googleapis/google-cloud-python/pull/9995
Please reload this pagehttps://github.com/googleapis/google-cloud-python/pull/9995
googleapis https://github.com/googleapis
google-cloud-pythonhttps://github.com/googleapis/google-cloud-python
Notifications https://github.com/login?return_to=%2Fgoogleapis%2Fgoogle-cloud-python
Fork 1.7k https://github.com/login?return_to=%2Fgoogleapis%2Fgoogle-cloud-python
Star 5.3k https://github.com/login?return_to=%2Fgoogleapis%2Fgoogle-cloud-python
Code https://github.com/googleapis/google-cloud-python
Issues 444 https://github.com/googleapis/google-cloud-python/issues
Pull requests 136 https://github.com/googleapis/google-cloud-python/pulls
Discussions https://github.com/googleapis/google-cloud-python/discussions
Actions https://github.com/googleapis/google-cloud-python/actions
Projects https://github.com/googleapis/google-cloud-python/projects
Security and quality 0 https://github.com/googleapis/google-cloud-python/security
Insights https://github.com/googleapis/google-cloud-python/pulse
Code https://github.com/googleapis/google-cloud-python
Issues https://github.com/googleapis/google-cloud-python/issues
Pull requests https://github.com/googleapis/google-cloud-python/pulls
Discussions https://github.com/googleapis/google-cloud-python/discussions
Actions https://github.com/googleapis/google-cloud-python/actions
Projects https://github.com/googleapis/google-cloud-python/projects
Security and quality https://github.com/googleapis/google-cloud-python/security
Insights https://github.com/googleapis/google-cloud-python/pulse
crwilcoxhttps://github.com/crwilcox
masterhttps://github.com/googleapis/google-cloud-python/tree/master
retry-more-error-typeshttps://github.com/googleapis/google-cloud-python/tree/retry-more-error-types
Conversationhttps://github.com/googleapis/google-cloud-python/pull/9995
Commits3 (3)https://github.com/googleapis/google-cloud-python/pull/9995/commits
Checkshttps://github.com/googleapis/google-cloud-python/pull/9995/checks
Files changedhttps://github.com/googleapis/google-cloud-python/pull/9995/files
fix: recover watch stream on more error typeshttps://github.com/googleapis/google-cloud-python/pull/9995#top
crwilcoxhttps://github.com/crwilcox
masterhttps://github.com/googleapis/google-cloud-python/tree/master
retry-more-error-typeshttps://github.com/googleapis/google-cloud-python/tree/retry-more-error-types
https://github.com/crwilcox
crwilcoxhttps://github.com/crwilcox
Dec 18, 2019https://github.com/googleapis/google-cloud-python/pull/9995#issue-539835663
#9890https://github.com/googleapis/google-cloud-python/issues/9890
Please reload this pagehttps://github.com/googleapis/google-cloud-python/pull/9995
https://github.com/crwilcox
fix: Recover watch stream on more error typeshttps://github.com/googleapis/google-cloud-python/pull/9995/commits/d8b90fb519707281e04a1d26a312543f7adb1050
d8b90fbhttps://github.com/googleapis/google-cloud-python/pull/9995/commits/d8b90fb519707281e04a1d26a312543f7adb1050
https://github.com/crwilcox
crwilcoxhttps://github.com/crwilcox
frankynhttps://github.com/frankyn
tseaverhttps://github.com/tseaver
code ownershttps://github.com/googleapis/google-cloud-python/blob/8bb406849475d753fbcacca13573377ee94ed1ab/.github/CODEOWNERS#L20
December 18, 2019 18:06https://github.com/googleapis/google-cloud-python/pull/9995#event-2894508958
https://github.com/googlebot
googlebothttps://github.com/googlebot
cla: yes https://github.com/googleapis/google-cloud-python/issues?q=state%3Aopen%20label%3A%22cla%3A%20yes%22
Dec 18, 2019https://github.com/googleapis/google-cloud-python/pull/9995#event-2894509134
https://github.com/crwilcox
crwilcoxhttps://github.com/crwilcox
Dec 18, 2019https://github.com/googleapis/google-cloud-python/pull/9995#event-2894509343
https://github.com/frankyn
frankynhttps://github.com/frankyn
Dec 18, 2019 https://github.com/googleapis/google-cloud-python/pull/9995#pullrequestreview-334165279
View reviewed changes https://github.com/googleapis/google-cloud-python/pull/9995/files/d8b90fb519707281e04a1d26a312543f7adb1050
frankynhttps://github.com/frankyn
https://github.com/googleapis/google-cloud-python/pull/9995#pullrequestreview-334165279
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Go listhttps://github.com/googleapis/google-cloud-go/blob/be07a624a2e4501df135ab7f731b7cfb408d9df2/firestore/watch.go#L507
Please reload this pagehttps://github.com/googleapis/google-cloud-python/pull/9995
https://github.com/crwilcox
crwilcoxhttps://github.com/crwilcox
BenWhiteheadhttps://github.com/BenWhitehead
December 18, 2019 18:29https://github.com/googleapis/google-cloud-python/pull/9995#event-2894571615
https://github.com/crwilcox
crwilcoxhttps://github.com/crwilcox
Dec 18, 2019https://github.com/googleapis/google-cloud-python/pull/9995#event-2894571810
https://github.com/crwilcox
fix: don't retry deadline exceededhttps://github.com/googleapis/google-cloud-python/pull/9995/commits/88d87b62124b5d8c467b0e378768bf0f7d4cb784
88d87b6https://github.com/googleapis/google-cloud-python/pull/9995/commits/88d87b62124b5d8c467b0e378768bf0f7d4cb784
https://github.com/tritone
tritonehttps://github.com/tritone
Dec 18, 2019 https://github.com/googleapis/google-cloud-python/pull/9995#pullrequestreview-334219142
View reviewed changes https://github.com/googleapis/google-cloud-python/pull/9995/files/88d87b62124b5d8c467b0e378768bf0f7d4cb784
tritonehttps://github.com/tritone
https://github.com/googleapis/google-cloud-python/pull/9995#pullrequestreview-334219142
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
https://aip.dev/194https://aip.dev/194
Please reload this pagehttps://github.com/googleapis/google-cloud-python/pull/9995
https://github.com/BenWhitehead
BenWhiteheadhttps://github.com/BenWhitehead
Dec 18, 2019https://github.com/googleapis/google-cloud-python/pull/9995#issuecomment-567209593
@schmidt-sebastianhttps://github.com/schmidt-sebastian
Please reload this pagehttps://github.com/googleapis/google-cloud-python/pull/9995
https://github.com/crwilcox
crwilcoxhttps://github.com/crwilcox
Dec 18, 2019https://github.com/googleapis/google-cloud-python/pull/9995#issuecomment-567214746
Please reload this pagehttps://github.com/googleapis/google-cloud-python/pull/9995
https://github.com/schmidt-sebastian
schmidt-sebastianhttps://github.com/schmidt-sebastian
Dec 19, 2019https://github.com/googleapis/google-cloud-python/pull/9995#issuecomment-567727590
https://github.com/googleapis/nodejs-firestore/blob/25472e11a0e1a4a5e1931b1652d125f9c8cabf11/dev/src/watch.ts#L817https://github.com/googleapis/nodejs-firestore/blob/25472e11a0e1a4a5e1931b1652d125f9c8cabf11/dev/src/watch.ts#L817
Please reload this pagehttps://github.com/googleapis/google-cloud-python/pull/9995
https://github.com/crwilcox
crwilcoxhttps://github.com/crwilcox
do not merge https://github.com/googleapis/google-cloud-python/issues?q=state%3Aopen%20label%3A%22do%20not%20merge%22
Dec 20, 2019https://github.com/googleapis/google-cloud-python/pull/9995#event-2901347320
https://github.com/crwilcox
crwilcoxhttps://github.com/crwilcox
Dec 20, 2019https://github.com/googleapis/google-cloud-python/pull/9995#issuecomment-568000277
Please reload this pagehttps://github.com/googleapis/google-cloud-python/pull/9995
https://github.com/crwilcox
crwilcoxhttps://github.com/crwilcox
Dec 23, 2019https://github.com/googleapis/google-cloud-python/pull/9995#issuecomment-568317684
@schmidt-sebastianhttps://github.com/schmidt-sebastian
Please reload this pagehttps://github.com/googleapis/google-cloud-python/pull/9995
https://github.com/jeanbza
jeanbzahttps://github.com/jeanbza
Dec 23, 2019https://github.com/googleapis/google-cloud-python/pull/9995#issuecomment-568553331
Please reload this pagehttps://github.com/googleapis/google-cloud-python/pull/9995
https://github.com/schmidt-sebastian
schmidt-sebastianhttps://github.com/schmidt-sebastian
Dec 26, 2019https://github.com/googleapis/google-cloud-python/pull/9995#issuecomment-568950039
Please reload this pagehttps://github.com/googleapis/google-cloud-python/pull/9995
https://github.com/crwilcox
crwilcoxhttps://github.com/crwilcox
Dec 26, 2019 https://github.com/googleapis/google-cloud-python/pull/9995#ref-issue-528397681
RST_STREAM error from grpc via Bidi in Firestore Client Library #9890 https://github.com/googleapis/google-cloud-python/issues/9890
https://github.com/crwilcox
crwilcoxhttps://github.com/crwilcox
Dec 26, 2019https://github.com/googleapis/google-cloud-python/pull/9995#issuecomment-569114190
@schmidt-sebastianhttps://github.com/schmidt-sebastian
Please reload this pagehttps://github.com/googleapis/google-cloud-python/pull/9995
https://github.com/crwilcox
fix: match recovered stream exceptions to node.js implementation,https://github.com/googleapis/google-cloud-python/pull/9995/commits/e2ff2345a4cb118e0b907ae1a382ee56531da0e3
htt…https://github.com/googleapis/nodejs-firestore/blob/25472e11a0e1a4a5e1931b1652d125f9c8cabf11/dev/src/watch.ts\#L817
e2ff234https://github.com/googleapis/google-cloud-python/pull/9995/commits/e2ff2345a4cb118e0b907ae1a382ee56531da0e3
…ps://github.com/googleapis/nodejs-firestore/blob/25472e11a0e1a4a5e1931b1652d125f9c8cabf11/dev/src/watch.ts\#L817https://github.com/googleapis/nodejs-firestore/blob/25472e11a0e1a4a5e1931b1652d125f9c8cabf11/dev/src/watch.ts\#L817
https://github.com/schmidt-sebastian
schmidt-sebastianhttps://github.com/schmidt-sebastian
Dec 27, 2019 https://github.com/googleapis/google-cloud-python/pull/9995#pullrequestreview-336642014
View reviewed changes https://github.com/googleapis/google-cloud-python/pull/9995/files/e2ff2345a4cb118e0b907ae1a382ee56531da0e3
https://github.com/BenWhitehead
BenWhiteheadhttps://github.com/BenWhitehead
Dec 30, 2019 https://github.com/googleapis/google-cloud-python/pull/9995#ref-issue-437674901
Firestore: what possible cause of this exception: InternalServerError: 500 Received RST_STREAM with error code 0 firebase/firebase-admin-python#282 https://github.com/firebase/firebase-admin-python/issues/282
https://github.com/crwilcox
crwilcoxhttps://github.com/crwilcox
Jan 2, 2020https://github.com/googleapis/google-cloud-python/pull/9995#issuecomment-570296298
Please reload this pagehttps://github.com/googleapis/google-cloud-python/pull/9995
https://github.com/crwilcox
crwilcoxhttps://github.com/crwilcox
13a870chttps://github.com/googleapis/google-cloud-python/commit/13a870ccbd924e1ba8829093ab130986bf7eb845
Jan 2, 2020https://github.com/googleapis/google-cloud-python/pull/9995#event-2918430120
https://github.com/crwilcox
crwilcoxhttps://github.com/crwilcox
January 2, 2020 20:56https://github.com/googleapis/google-cloud-python/pull/9995#event-2918768986
chore(bigquery): bump copyright year to 2020, tweak docstring formatting (via synth) #10225 https://github.com/googleapis/google-cloud-python/pull/10225
docs(language): change docstring formatting; bump copyright year to 2020 (via synth) #10234 https://github.com/googleapis/google-cloud-python/pull/10234
[CHANGE ME] Re-generated container to pick up changes in the API or client library generator. #10256 https://github.com/googleapis/google-cloud-python/pull/10256
[CHANGE ME] Re-generated datastore to pick up changes in the API or client library generator. #10261 https://github.com/googleapis/google-cloud-python/pull/10261
partheahttps://github.com/parthea
Nov 24, 2025 https://github.com/googleapis/google-cloud-python/pull/9995#ref-commit-7379fdc
https://github.com/crwilcox
fix: recover watch stream on more error types (https://github.com/googleapis/google-cloud-python/commit/7379fdc4ad990f1c0004643cabe067e2b634a2dd
#9995https://github.com/googleapis/google-cloud-python/pull/9995
)https://github.com/googleapis/google-cloud-python/commit/7379fdc4ad990f1c0004643cabe067e2b634a2dd
7379fdchttps://github.com/googleapis/google-cloud-python/commit/7379fdc4ad990f1c0004643cabe067e2b634a2dd
https://github.com/googleapis/nodejs-firestore/blob/25472e11a0e1a4a5e1931b1652d125f9c8cabf11/dev/src/watch.ts\#L817https://github.com/googleapis/nodejs-firestore/blob/25472e11a0e1a4a5e1931b1652d125f9c8cabf11/dev/src/watch.ts\#L817
https://github.co/hiddenchars
https://github.com/googleapis/google-cloud-python/pull/{{ revealButtonHref }}
Sign up for freehttps://github.com/join?source=comment-repo
Sign in to commenthttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fgoogleapis%2Fgoogle-cloud-python%2Fpull%2F9995
https://github.com/tseaver
tseaver https://github.com/tseaver
https://github.com/BenWhitehead
BenWhitehead https://github.com/BenWhitehead
https://github.com/tritone
tritone https://github.com/tritone
https://github.com/googleapis/google-cloud-python/pull/9995/files/88d87b62124b5d8c467b0e378768bf0f7d4cb784
https://github.com/frankyn
frankyn https://github.com/frankyn
https://github.com/googleapis/google-cloud-python/pull/9995/files/d8b90fb519707281e04a1d26a312543f7adb1050
https://github.com/schmidt-sebastian
schmidt-sebastian https://github.com/schmidt-sebastian
https://github.com/googleapis/google-cloud-python/pull/9995/files/e2ff2345a4cb118e0b907ae1a382ee56531da0e3
https://github.com/crwilcox
crwilcox https://github.com/crwilcox
cla: yes https://github.com/googleapis/google-cloud-python/issues?q=state%3Aopen%20label%3A%22cla%3A%20yes%22
do not merge https://github.com/googleapis/google-cloud-python/issues?q=state%3Aopen%20label%3A%22do%20not%20merge%22
RST_STREAM error from grpc via Bidi in Firestore Client Library https://github.com/googleapis/google-cloud-python/issues/9890
Please reload this pagehttps://github.com/googleapis/google-cloud-python/pull/9995
https://github.com/crwilcox
https://github.com/BenWhitehead
https://github.com/schmidt-sebastian
https://github.com/jeanbza
https://github.com/frankyn
https://github.com/tritone
https://github.com/googlebot
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.