René's URL Explorer Experiment


Title: fix: resolve the issue where rpc timeout of 0 is used when timeout expires by parthea · Pull Request #776 · googleapis/python-api-core · GitHub

Open Graph Title: fix: resolve the issue where rpc timeout of 0 is used when timeout expires by parthea · Pull Request #776 · googleapis/python-api-core

X Title: fix: resolve the issue where rpc timeout of 0 is used when timeout expires by parthea · Pull Request #776 · googleapis/python-api-core

Description: In PR #462, the deadline argument of google.api_core.retry.Retry was refactored and marked as deprecated. Although the comment below mentions that the deadline argument would override the timeout, this is not the behavior that we see when the deadline argument of default_retry is set as part of the wrapped method as is the case in this line, similar to the bug report in #654. python-api-core/google/api_core/retry/retry_unary.py Lines 194 to 200 in b1fae31 Unfortunately, in the past this class (and the api-core library as a whole) has not been properly distinguishing the concepts of "timeout" and "deadline", and the ``deadline`` parameter has meant ``timeout``. That is why ``deadline`` has been deprecated and ``timeout`` should be used instead. If the ``deadline`` parameter is set, it will override the ``timeout`` parameter. In other words, ``retry.deadline`` should be treated as just a deprecated alias for ``retry.timeout``. We actually have 2 separate values deadline and timeout which behave in a different manner. The deadline argument of default_retry is an overall invocation timeout, while timeout is the rpc timeout. The client will send requests (respecting the configured backoff) during the specified timeout allowed. Once the timeout is up, the rpc timeout ends up being 0, but the requests keep going out because the deadline hasn't expired. A simple fix is to have a reasonableness check on the rpc timeout to avoid sending requests with rpc timeout of 0. A longer term fix is being considered where we have separate timeouts for overall timeout and rpc timeout. Currently, we just have a single timeout defined in pubsub_grpc_service_config.json does not provide flexibility to configure both an overall timeout or rpc timeout. Initial testing shows that this should fix #654 Output of test log. Previously I would see gRPC timeout:0 seconds as reported in #654 Running pytest with args: ['-p', 'vscode_pytest', '--rootdir=/usr/local/google/home/partheniou/git/gapic-generator-python', '--capture=no', '/usr/local/google/home/partheniou/git/gapic-generator-python/tests/system/test_retry.py::test_lro[grpc]'] ============================= test session starts ============================== platform linux -- Python 3.9.16, pytest-7.4.0, pluggy-1.5.0 rootdir: /usr/local/google/home/partheniou/git/gapic-generator-python plugins: localserver-0.8.1, cov-5.0.0, asyncio-0.23.5 asyncio: mode=strict collected 1 item tests/system/test_retry.py {"timestamp": "2025-01-12 13:11:39,035", "severity": "DEBUG", "name": "google.showcase_v1beta1.services.echo.client", "message": "Created client `google.showcase_v1beta1.EchoClient`.", "serviceName": "google.showcase.v1beta1.Echo", "credentialsType": "builtins.NoneType", "universeDomain": ""} gRPC timeout: 60.0 seconds {"timestamp": "2025-01-12 13:11:39,042", "severity": "DEBUG", "name": "google.showcase_v1beta1.services.echo.transports.grpc", "message": "Sending request for /google.showcase.v1beta1.Echo/Block", "rpcName": "/google.showcase.v1beta1.Echo/Block", "serviceName": "google.showcase.v1beta1.Echo", "request": {"payload": "{\n \"responseDelay\": \"60s\"\n}", "requestMethod": "grpc", "metadata": {"x-goog-api-version": "v1_20240408", "x-goog-api-client": "gl-python/3.9.16 grpc/1.67.1 gax/2.24.0 gapic/0.0.0"}}, "metadata": {"x-goog-api-version": "v1_20240408", "x-goog-api-client": "gl-python/3.9.16 grpc/1.67.1 gax/2.24.0 gapic/0.0.0"}} {"timestamp": "2025-01-12 13:12:39,048", "severity": "DEBUG", "name": "google.api_core.retry", "message": "Retrying due to 504 Deadline Exceeded, sleeping 0.0s ..."} gRPC timeout: 60 seconds {"timestamp": "2025-01-12 13:12:39,084", "severity": "DEBUG", "name": "google.showcase_v1beta1.services.echo.transports.grpc", "message": "Sending request for /google.showcase.v1beta1.Echo/Block", "rpcName": "/google.showcase.v1beta1.Echo/Block", "serviceName": "google.showcase.v1beta1.Echo", "request": {"payload": "{\n \"responseDelay\": \"60s\"\n}", "requestMethod": "grpc", "metadata": {"x-goog-api-version": "v1_20240408", "x-goog-api-client": "gl-python/3.9.16 grpc/1.67.1 gax/2.24.0 gapic/0.0.0"}}, "metadata": {"x-goog-api-version": "v1_20240408", "x-goog-api-client": "gl-python/3.9.16 grpc/1.67.1 gax/2.24.0 gapic/0.0.0"}} {"timestamp": "2025-01-12 13:13:39,088", "severity": "DEBUG", "name": "google.api_core.retry", "message": "Retrying due to 504 Deadline Exceeded, sleeping 0.0s ..."} gRPC timeout: 60 seconds {"timestamp": "2025-01-12 13:13:39,114", "severity": "DEBUG", "name": "google.showcase_v1beta1.services.echo.transports.grpc", "message": "Sending request for /google.showcase.v1beta1.Echo/Block", "rpcName": "/google.showcase.v1beta1.Echo/Block", "serviceName": "google.showcase.v1beta1.Echo", "request": {"payload": "{\n \"responseDelay\": \"60s\"\n}", "requestMethod": "grpc", "metadata": {"x-goog-api-version": "v1_20240408", "x-goog-api-client": "gl-python/3.9.16 grpc/1.67.1 gax/2.24.0 gapic/0.0.0"}}, "metadata": {"x-goog-api-version": "v1_20240408", "x-goog-api-client": "gl-python/3.9.16 grpc/1.67.1 gax/2.24.0 gapic/0.0.0"}} {"timestamp": "2025-01-12 13:14:39,118", "severity": "DEBUG", "name": "google.api_core.retry", "message": "Retrying due to 504 Deadline Exceeded, sleeping 11.0s ..."} gRPC timeout: 60 seconds {"timestamp": "2025-01-12 13:14:50,085", "severity": "DEBUG", "name": "google.showcase_v1beta1.services.echo.transports.grpc", "message": "Sending request for /google.showcase.v1beta1.Echo/Block", "rpcName": "/google.showcase.v1beta1.Echo/Block", "serviceName": "google.showcase.v1beta1.Echo", "request": {"payload": "{\n \"responseDelay\": \"60s\"\n}", "requestMethod": "grpc", "metadata": {"x-goog-api-version": "v1_20240408", "x-goog-api-client": "gl-python/3.9.16 grpc/1.67.1 gax/2.24.0 gapic/0.0.0"}}, "metadata": {"x-goog-api-version": "v1_20240408", "x-goog-api-client": "gl-python/3.9.16 grpc/1.67.1 gax/2.24.0 gapic/0.0.0"}} {"timestamp": "2025-01-12 13:15:50,089", "severity": "DEBUG", "name": "google.api_core.retry", "message": "Retrying due to 504 Deadline Exceeded, sleeping 20.4s ..."} gRPC timeout: 60 seconds {"timestamp": "2025-01-12 13:16:10,474", "severity": "DEBUG", "name": "google.showcase_v1beta1.services.echo.transports.grpc", "message": "Sending request for /google.showcase.v1beta1.Echo/Block", "rpcName": "/google.showcase.v1beta1.Echo/Block", "serviceName": "google.showcase.v1beta1.Echo", "request": {"payload": "{\n \"responseDelay\": \"60s\"\n}", "requestMethod": "grpc", "metadata": {"x-goog-api-version": "v1_20240408", "x-goog-api-client": "gl-python/3.9.16 grpc/1.67.1 gax/2.24.0 gapic/0.0.0"}}, "metadata": {"x-goog-api-version": "v1_20240408", "x-goog-api-client": "gl-python/3.9.16 grpc/1.67.1 gax/2.24.0 gapic/0.0.0"}} {"timestamp": "2025-01-12 13:17:10,477", "severity": "DEBUG", "name": "google.api_core.retry", "message": "Retrying due to 504 Deadline Exceeded, sleeping 27.2s ..."} gRPC timeout: 60 seconds {"timestamp": "2025-01-12 13:17:37,729", "severity": "DEBUG", "name": "google.showcase_v1beta1.services.echo.transports.grpc", "message": "Sending request for /google.showcase.v1beta1.Echo/Block", "rpcName": "/google.showcase.v1beta1.Echo/Block", "serviceName": "google.showcase.v1beta1.Echo", "request": {"payload": "{\n \"responseDelay\": \"60s\"\n}", "requestMethod": "grpc", "metadata": {"x-goog-api-version": "v1_20240408", "x-goog-api-client": "gl-python/3.9.16 grpc/1.67.1 gax/2.24.0 gapic/0.0.0"}}, "metadata": {"x-goog-api-version": "v1_20240408", "x-goog-api-client": "gl-python/3.9.16 grpc/1.67.1 gax/2.24.0 gapic/0.0.0"}} {"timestamp": "2025-01-12 13:18:37,733", "severity": "DEBUG", "name": "google.api_core.retry", "message": "Retrying due to 504 Deadline Exceeded, sleeping 5.6s ..."} gRPC timeout: 60 seconds {"timestamp": "2025-01-12 13:18:43,345", "severity": "DEBUG", "name": "google.showcase_v1beta1.services.echo.transports.grpc", "message": "Sending request for /google.showcase.v1beta1.Echo/Block", "rpcName": "/google.showcase.v1beta1.Echo/Block", "serviceName": "google.showcase.v1beta1.Echo", "request": {"payload": "{\n \"responseDelay\": \"60s\"\n}", "requestMethod": "grpc", "metadata": {"x-goog-api-version": "v1_20240408", "x-goog-api-client": "gl-python/3.9.16 grpc/1.67.1 gax/2.24.0 gapic/0.0.0"}}, "metadata": {"x-goog-api-version": "v1_20240408", "x-goog-api-client": "gl-python/3.9.16 grpc/1.67.1 gax/2.24.0 gapic/0.0.0"}} {"timestamp": "2025-01-12 13:19:43,349", "severity": "DEBUG", "name": "google.api_core.retry", "message": "Retrying due to 504 Deadline Exceeded, sleeping 1.5s ..."} gRPC timeout: 60 seconds {"timestamp": "2025-01-12 13:19:44,817", "severity": "DEBUG", "name": "google.showcase_v1beta1.services.echo.transports.grpc", "message": "Sending request for /google.showcase.v1beta1.Echo/Block", "rpcName": "/google.showcase.v1beta1.Echo/Block", "serviceName": "google.showcase.v1beta1.Echo", "request": {"payload": "{\n \"responseDelay\": \"60s\"\n}", "requestMethod": "grpc", "metadata": {"x-goog-api-version": "v1_20240408", "x-goog-api-client": "gl-python/3.9.16 grpc/1.67.1 gax/2.24.0 gapic/0.0.0"}}, "metadata": {"x-goog-api-version": "v1_20240408", "x-goog-api-client": "gl-python/3.9.16 grpc/1.67.1 gax/2.24.0 gapic/0.0.0"}} {"timestamp": "2025-01-12 13:20:44,821", "severity": "DEBUG", "name": "google.api_core.retry", "message": "Retrying due to 504 Deadline Exceeded, sleeping 39.8s ..."} gRPC timeout: 60 seconds {"timestamp": "2025-01-12 13:21:24,597", "severity": "DEBUG", "name": "google.showcase_v1beta1.services.echo.transports.grpc", "message": "Sending request for /google.showcase.v1beta1.Echo/Block", "rpcName": "/google.showcase.v1beta1.Echo/Block", "serviceName": "google.showcase.v1beta1.Echo", "request": {"payload": "{\n \"responseDelay\": \"60s\"\n}", "requestMethod": "grpc", "metadata": {"x-goog-api-version": "v1_20240408", "x-goog-api-client": "gl-python/3.9.16 grpc/1.67.1 gax/2.24.0 gapic/0.0.0"}}, "metadata": {"x-goog-api-version": "v1_20240408", "x-goog-api-client": "gl-python/3.9.16 grpc/1.67.1 gax/2.24.0 gapic/0.0.0"}} Fixes #654 Fixes b/387530669

Open Graph Description: In PR #462, the deadline argument of google.api_core.retry.Retry was refactored and marked as deprecated. Although the comment below mentions that the deadline argument would override the timeout, ...

X Description: In PR #462, the deadline argument of google.api_core.retry.Retry was refactored and marked as deprecated. Although the comment below mentions that the deadline argument would override the timeout, ...

Opengraph URL: https://github.com/googleapis/python-api-core/pull/776

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:d550f17d-388f-98d1-0cd5-2d53d88c5654
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-id94A2:633B1:EDEAB1:14CF2B4:6A4E91BA
html-safe-nonce77b065bef5dcfedafc6f7951b7415f0de2b57c69dd42ca7eacd27c9b5dce4af7
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5NEEyOjYzM0IxOkVERUFCMToxNENGMkI0OjZBNEU5MUJBIiwidmlzaXRvcl9pZCI6IjE4MTM4MzY4NTQ5MjQ4NDE0MDIiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmacd42da9e04af57d97dacd881ead40995d25663ce691663ab9b0b2646bc34bafa0
hovercard-subject-tagpull_request:2272545248
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///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/googleapis/python-api-core/pull/776/files
twitter:imagehttps://avatars.githubusercontent.com/u/5184014?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/5184014?s=400&v=4
og:image:altIn PR #462, the deadline argument of google.api_core.retry.Retry was refactored and marked as deprecated. Although the comment below mentions that the deadline argument would override the timeout, ...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None41b6ab3ba6d20a71766ac245b5a4a94c6fc672a9cd4da7d44c1b33ab8bf6a21c
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/googleapis/python-api-core git https://github.com/googleapis/python-api-core.git
octolytics-dimension-user_id16785467
octolytics-dimension-user_logingoogleapis
octolytics-dimension-repository_id226992456
octolytics-dimension-repository_nwogoogleapis/python-api-core
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id226992456
octolytics-dimension-repository_network_root_nwogoogleapis/python-api-core
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releasee6a744804e8e70f97b4d5a18a94dcc63db22f97a
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/googleapis/python-api-core/pull/776/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fgoogleapis%2Fpython-api-core%2Fpull%2F776%2Ffiles
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%2Fpython-api-core%2Fpull%2F776%2Ffiles
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%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=googleapis%2Fpython-api-core
Reloadhttps://github.com/googleapis/python-api-core/pull/776/files
Reloadhttps://github.com/googleapis/python-api-core/pull/776/files
Reloadhttps://github.com/googleapis/python-api-core/pull/776/files
Please reload this pagehttps://github.com/googleapis/python-api-core/pull/776/files
googleapis https://github.com/googleapis
python-api-corehttps://github.com/googleapis/python-api-core
Notifications https://github.com/login?return_to=%2Fgoogleapis%2Fpython-api-core
Fork 97 https://github.com/login?return_to=%2Fgoogleapis%2Fpython-api-core
Star 144 https://github.com/login?return_to=%2Fgoogleapis%2Fpython-api-core
Code https://github.com/googleapis/python-api-core
Issues 0 https://github.com/googleapis/python-api-core/issues
Pull requests 0 https://github.com/googleapis/python-api-core/pulls
Actions https://github.com/googleapis/python-api-core/actions
Projects https://github.com/googleapis/python-api-core/projects
Security and quality 0 https://github.com/googleapis/python-api-core/security
Insights https://github.com/googleapis/python-api-core/pulse
Code https://github.com/googleapis/python-api-core
Issues https://github.com/googleapis/python-api-core/issues
Pull requests https://github.com/googleapis/python-api-core/pulls
Actions https://github.com/googleapis/python-api-core/actions
Projects https://github.com/googleapis/python-api-core/projects
Security and quality https://github.com/googleapis/python-api-core/security
Insights https://github.com/googleapis/python-api-core/pulse
partheahttps://github.com/parthea
mainhttps://github.com/googleapis/python-api-core/tree/main
fix-incorrect-rpc-timeouthttps://github.com/googleapis/python-api-core/tree/fix-incorrect-rpc-timeout
Conversation 6 https://github.com/googleapis/python-api-core/pull/776
Commits 5 https://github.com/googleapis/python-api-core/pull/776/commits
Checks 0 https://github.com/googleapis/python-api-core/pull/776/checks
Files changed https://github.com/googleapis/python-api-core/pull/776/files
Please reload this pagehttps://github.com/googleapis/python-api-core/pull/776/files
fix: resolve the issue where rpc timeout of 0 is used when timeout expires https://github.com/googleapis/python-api-core/pull/776/files#top
Show all changes 5 commits https://github.com/googleapis/python-api-core/pull/776/files
95cde20 fix: resolve the issue where rpc timeout of 0 is used when timeout ex… parthea Jan 12, 2025 https://github.com/googleapis/python-api-core/pull/776/commits/95cde20cdbf1c7269f1d06cd8554d01cdf6ceab7
b7ea26e Merge branch 'main' into fix-incorrect-rpc-timeout parthea Jan 14, 2025 https://github.com/googleapis/python-api-core/pull/776/commits/b7ea26e9609e941ed965b4c361e3ea093e1acc70
5b9a2e8 address offline feedback parthea Jan 16, 2025 https://github.com/googleapis/python-api-core/pull/776/commits/5b9a2e8e2eaa38246282b6a69216383fb6837c7a
30ce320 formatting parthea Jan 16, 2025 https://github.com/googleapis/python-api-core/pull/776/commits/30ce32024851bf754b562dcc96748623c858acfa
03b27f0 update comment parthea Jan 16, 2025 https://github.com/googleapis/python-api-core/pull/776/commits/03b27f0d81cf8ff7a904ea46519e57dc0fba25ff
Clear filters https://github.com/googleapis/python-api-core/pull/776/files
Please reload this pagehttps://github.com/googleapis/python-api-core/pull/776/files
Please reload this pagehttps://github.com/googleapis/python-api-core/pull/776/files
timeout.py https://github.com/googleapis/python-api-core/pull/776/files#diff-eb593f229f522aee48e065ac85a221f6bb5d4184189d17170ca8b16e22aa68bb
test_timeout.py https://github.com/googleapis/python-api-core/pull/776/files#diff-111231c4f179ffcbda5628ab92b80c9a4cc31ea0210962f4842948953686dbfc
google/api_core/timeout.pyhttps://github.com/googleapis/python-api-core/pull/776/files#diff-eb593f229f522aee48e065ac85a221f6bb5d4184189d17170ca8b16e22aa68bb
View file https://github.com/googleapis/python-api-core/blob/03b27f0d81cf8ff7a904ea46519e57dc0fba25ff/google/api_core/timeout.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/googleapis/python-api-core/pull/776/{{ revealButtonHref }}
https://github.com/googleapis/python-api-core/pull/776/files#diff-eb593f229f522aee48e065ac85a221f6bb5d4184189d17170ca8b16e22aa68bb
ohmayrhttps://github.com/ohmayr
Jan 16, 2025https://github.com/googleapis/python-api-core/pull/776/files#r1919177355
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/googleapis/python-api-core/pull/776/files
partheahttps://github.com/parthea
Jan 16, 2025https://github.com/googleapis/python-api-core/pull/776/files#r1919238946
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/googleapis/python-api-core/pull/776/files
https://github.com/googleapis/python-api-core/pull/776/files#diff-eb593f229f522aee48e065ac85a221f6bb5d4184189d17170ca8b16e22aa68bb
vchudnov-ghttps://github.com/vchudnov-g
Jan 16, 2025https://github.com/googleapis/python-api-core/pull/776/files#r1919316032
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/googleapis/python-api-core/pull/776/files
partheahttps://github.com/parthea
Jan 16, 2025https://github.com/googleapis/python-api-core/pull/776/files#r1919343774
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
python-api-core/google/api_core/gapic_v1/method.pyhttps://github.com/googleapis/python-api-core/blob/b1fae31c8c71ed65ad22a415dab2b54720c3d4ba/google/api_core/gapic_v1/method.py#L134
b1fae31https://github.com/googleapis/python-api-core/commit/b1fae31c8c71ed65ad22a415dab2b54720c3d4ba
Please reload this pagehttps://github.com/googleapis/python-api-core/pull/776/files
vchudnov-ghttps://github.com/vchudnov-g
Jan 16, 2025https://github.com/googleapis/python-api-core/pull/776/files#r1919316060
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/googleapis/python-api-core/pull/776/files
partheahttps://github.com/parthea
Jan 16, 2025https://github.com/googleapis/python-api-core/pull/776/files#r1919378528
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
@vchudnov-ghttps://github.com/vchudnov-g
Please reload this pagehttps://github.com/googleapis/python-api-core/pull/776/files
https://github.com/googleapis/python-api-core/pull/776/files#diff-eb593f229f522aee48e065ac85a221f6bb5d4184189d17170ca8b16e22aa68bb
tests/unit/test_timeout.pyhttps://github.com/googleapis/python-api-core/pull/776/files#diff-111231c4f179ffcbda5628ab92b80c9a4cc31ea0210962f4842948953686dbfc
View file https://github.com/googleapis/python-api-core/blob/03b27f0d81cf8ff7a904ea46519e57dc0fba25ff/tests/unit/test_timeout.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/googleapis/python-api-core/pull/776/{{ revealButtonHref }}
https://github.com/googleapis/python-api-core/pull/776/files#diff-111231c4f179ffcbda5628ab92b80c9a4cc31ea0210962f4842948953686dbfc
https://github.com/googleapis/python-api-core/pull/776/files#diff-111231c4f179ffcbda5628ab92b80c9a4cc31ea0210962f4842948953686dbfc
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.