René's URL Explorer Experiment


Title: feat: add ability to retry query job automatically if the job fails · Issue #539 · googleapis/python-bigquery · GitHub

Open Graph Title: feat: add ability to retry query job automatically if the job fails · Issue #539 · googleapis/python-bigquery

X Title: feat: add ability to retry query job automatically if the job fails · Issue #539 · googleapis/python-bigquery

Description: Environment details OS type and version: Mac (10.15.7) and Python Base Docker Image Python version: Python 3.7.8 Poetry version: Poetry version 1.0.10 google-cloud-bigquery: 1.28.0 Google BigQuery API client library Issue I am using the ...

Open Graph Description: Environment details OS type and version: Mac (10.15.7) and Python Base Docker Image Python version: Python 3.7.8 Poetry version: Poetry version 1.0.10 google-cloud-bigquery: 1.28.0 Google BigQuery ...

X Description: Environment details OS type and version: Mac (10.15.7) and Python Base Docker Image Python version: Python 3.7.8 Poetry version: Poetry version 1.0.10 google-cloud-bigquery: 1.28.0 Google BigQuery ...

Opengraph URL: https://github.com/googleapis/python-bigquery/issues/539

X: @github

direct link

Domain: github.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"feat: add ability to retry query job automatically if the job fails","articleBody":"\r\n#### Environment details\r\n\r\n  - OS type and version: Mac (10.15.7) and Python Base Docker Image\r\n  - Python version: `Python 3.7.8`\r\n  - Poetry version: `Poetry version 1.0.10`\r\n  - `google-cloud-bigquery`:  `1.28.0              Google BigQuery API client library`\r\n\r\n#### Issue\r\n\r\nI am using the `retry` parameter in `biquery.Client.query` but it isn't retrying my request.  \r\n\r\n#### Code example\r\n\r\nSetup code: \r\n\r\n```python\r\nimport structlog\r\nfrom google.api_core import retry, exceptions\r\nfrom google.api_core.retry import if_exception_type, Retry\r\nfrom google.cloud import bigquery\r\n\r\nfrom common.logging.setup_logging import set_logger_config\r\n\r\nset_logger_config() # Enables debug level logging for retry\r\n\r\nproject = \"myproject\"\r\nsource_table = f\"{project}.mydataset.TABLE_NOT_REALLY_HERE\"\r\nstatement = f\"SELECT * FROM `{source_table}`\"\r\nclient = bigquery.Client(project=project)\r\n```\r\n\r\nNow if you run: \r\n\r\n```python\r\nretry_policy = retry.Retry(predicate=if_exception_type(exceptions.NotFound))\r\nquery_job = client.query(statement, retry=retry_policy)\r\nresult = list(query_job.result(retry=retry_policy))\r\nprint(result)\r\n```\r\n\r\nOnly one request is made: \r\n\r\n```\r\nTraceback (most recent call last):\r\n  File \"/Users/.../lib/python3.7/site-packages/google/cloud/bigquery/job.py\", line 3230, in result\r\n    super(QueryJob, self).result(retry=retry, timeout=timeout)\r\n  File \"/Users/.../lib/python3.7/site-packages/google/cloud/bigquery/job.py\", line 835, in result\r\n    return super(_AsyncJob, self).result(timeout=timeout)\r\n  File \"/Users/.../lib/python3.7/site-packages/google/api_core/future/polling.py\", line 134, in result\r\n    raise self._exception\r\ngoogle.api_core.exceptions.NotFound: 404 Not found: Table \u003cTABLE_NAME\u003e was not found in location US\r\n\r\n(job ID: 5aeb5865-7bde-4795-ae80-75410f8b9282)\r\n\r\n                                              -----Query Job SQL Follows-----                                              \r\n\r\n    |    .    |    .    |    .    |    .    |    .    |    .    |    .    |    .    |    .    |    .    |    .    |\r\n   1:SELECT *\r\n   2:                FROM `\u003cTABLE_NAME\u003e`\r\n   3:                \r\n    |    .    |    .    |    .    |    .    |    .    |    .    |    .    |    .    |    .    |    .    |    .    |\r\npython-BaseException\r\n\r\nProcess finished with exit code 1\r\n```\r\n\r\n#### Workaround\r\n\r\nIf instead, I run: \r\n\r\n```python\r\n@Retry(predicate=if_exception_type(exceptions.NotFound))\r\ndef do():\r\n    query_job = client.query(statement)\r\n    result = list(query_job.result())\r\n    print(result)\r\ndo()\r\n```\r\n\r\nThis works as expected and retries the request: \r\n\r\n```\r\n{\"logger\": \"google.api_core.retry\", \"timestamp\": \"2021-03-02T19:07:48.000317Z\", \"severity\": \"debug\", \"message\": \"Retrying due to 404 Not found: Table \u003ctable_name\u003e was not found in location US\\n\\n(job ID: \u003cREMOVED\u003e, sleeping 1.0s ...\"}\r\n{\"logger\": \"google.api_core.retry\", \"timestamp\": \"2021-03-02T19:07:49.363842Z\", \"severity\": \"debug\", \"message\": \"Retrying due to 404 Not found: Table \u003ctable_name\u003e was not found in location US\\n\\n(job ID: \u003cREMOVED\u003e, sleeping 3.2s ...\"}\r\n{\"logger\": \"google.api_core.retry\", \"timestamp\": \"2021-03-02T19:07:52.741042Z\", \"severity\": \"debug\", \"message\": \"Retrying due to 404 Not found: Table \u003ctable_name\u003e was not found in location US\\n\\n(job ID: \u003cREMOVED\u003e, sleeping 2.8s ...\"}\r\n{\"logger\": \"google.api_core.retry\", \"timestamp\": \"2021-03-02T19:07:55.969272Z\", \"severity\": \"debug\", \"message\": \"Retrying due to 404 Not found: Table \u003ctable_name\u003e was not found in location US\\n\\n(job ID: \u003cREMOVED\u003e, sleeping 9.2s ...\"}\r\n{\"logger\": \"google.api_core.retry\", \"timestamp\": \"2021-03-02T19:08:05.493544Z\", \"severity\": \"debug\", \"message\": \"Retrying due to 404 Not found: Table \u003ctable_name\u003e was not found in location US\\n\\n(job ID: \u003cREMOVED\u003e, sleeping 4.2s ...\"}\r\n{\"logger\": \"google.api_core.retry\", \"timestamp\": \"2021-03-02T19:08:09.960265Z\", \"severity\": \"debug\", \"message\": \"Retrying due to 404 Not found: Table \u003ctable_name\u003e was not found in location US\\n\\n(job ID: \u003cREMOVED\u003e, sleeping 44.0s ...\"}\r\n```\r\n\r\n\r\n","author":{"url":"https://github.com/JakeSummers","@type":"Person","name":"JakeSummers"},"datePublished":"2021-03-02T19:11:55.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":7},"url":"https://github.com/539/python-bigquery/issues/539"}

route-pattern/_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format)
route-controllervoltron_issues_fragments
route-actionissue_layout
fetch-noncev2:df49390b-3c94-cf99-cab1-dc6014194822
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-idB486:3F1019:1578FF:1CDDC5:6A4D8592
html-safe-noncee912034c4df4442049dbcbe341a60539f962dc889d8dccba86012d96be8bb43e
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCNDg2OjNGMTAxOToxNTc4RkY6MUNEREM1OjZBNEQ4NTkyIiwidmlzaXRvcl9pZCI6Ijg3OTgxMTUxMTA2NDU2MTA0MiIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmacbcb198847127110309f24b1a3bdbd591b3a765d84be7486fadc04f4bec348396
hovercard-subject-tagissue:820305022
github-keyboard-shortcutsrepository,issues,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/issues_fragments/issue_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/googleapis/python-bigquery/539/issue_layout
twitter:imagehttps://opengraph.githubassets.com/a72e9c022805ddbb46b3f215957f5e93c80ce6bd6c3d45b9d29711e74d0d82d9/googleapis/python-bigquery/issues/539
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/a72e9c022805ddbb46b3f215957f5e93c80ce6bd6c3d45b9d29711e74d0d82d9/googleapis/python-bigquery/issues/539
og:image:altEnvironment details OS type and version: Mac (10.15.7) and Python Base Docker Image Python version: Python 3.7.8 Poetry version: Poetry version 1.0.10 google-cloud-bigquery: 1.28.0 Google BigQuery ...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernameJakeSummers
hostnamegithub.com
expected-hostnamegithub.com
Nonec6bf61c909482ec3072ef5d7a5a28f2a9d214788c9a44793eca1960048cb05ae
turbo-cache-controlno-preview
go-importgithub.com/googleapis/python-bigquery git https://github.com/googleapis/python-bigquery.git
octolytics-dimension-user_id16785467
octolytics-dimension-user_logingoogleapis
octolytics-dimension-repository_id226992475
octolytics-dimension-repository_nwogoogleapis/python-bigquery
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id226992475
octolytics-dimension-repository_network_root_nwogoogleapis/python-bigquery
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
release6702a58b419a792226bd21ef0fb1bcb318bbcaa3
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/googleapis/python-bigquery/issues/539#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fgoogleapis%2Fpython-bigquery%2Fissues%2F539
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/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/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/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-bigquery%2Fissues%2F539
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%2Fissues_fragments%2Fissue_layout&source=header-repo&source_repo=googleapis%2Fpython-bigquery
Reloadhttps://github.com/googleapis/python-bigquery/issues/539
Reloadhttps://github.com/googleapis/python-bigquery/issues/539
Reloadhttps://github.com/googleapis/python-bigquery/issues/539
Please reload this pagehttps://github.com/googleapis/python-bigquery/issues/539
googleapis https://github.com/googleapis
python-bigqueryhttps://github.com/googleapis/python-bigquery
Notifications https://github.com/login?return_to=%2Fgoogleapis%2Fpython-bigquery
Fork 324 https://github.com/login?return_to=%2Fgoogleapis%2Fpython-bigquery
Star 799 https://github.com/login?return_to=%2Fgoogleapis%2Fpython-bigquery
Code https://github.com/googleapis/python-bigquery
Issues 0 https://github.com/googleapis/python-bigquery/issues
Pull requests 0 https://github.com/googleapis/python-bigquery/pulls
Actions https://github.com/googleapis/python-bigquery/actions
Projects https://github.com/googleapis/python-bigquery/projects
Security and quality 0 https://github.com/googleapis/python-bigquery/security
Insights https://github.com/googleapis/python-bigquery/pulse
Code https://github.com/googleapis/python-bigquery
Issues https://github.com/googleapis/python-bigquery/issues
Pull requests https://github.com/googleapis/python-bigquery/pulls
Actions https://github.com/googleapis/python-bigquery/actions
Projects https://github.com/googleapis/python-bigquery/projects
Security and quality https://github.com/googleapis/python-bigquery/security
Insights https://github.com/googleapis/python-bigquery/pulse
#837https://github.com/googleapis/python-bigquery/pull/837
feat: add ability to retry query job automatically if the job failshttps://github.com/googleapis/python-bigquery/issues/539#top
#837https://github.com/googleapis/python-bigquery/pull/837
https://github.com/jimfulton
api: bigqueryIssues related to the googleapis/python-bigquery API.https://github.com/googleapis/python-bigquery/issues?q=state%3Aopen%20label%3A%22api%3A%20bigquery%22
type: feature request‘Nice-to-have’ improvement, new feature or different behavior or design.https://github.com/googleapis/python-bigquery/issues?q=state%3Aopen%20label%3A%22type%3A%20feature%20request%22
https://github.com/JakeSummers
JakeSummershttps://github.com/JakeSummers
on Mar 2, 2021https://github.com/googleapis/python-bigquery/issues/539#issue-820305022
jimfultonhttps://github.com/jimfulton
api: bigqueryIssues related to the googleapis/python-bigquery API.https://github.com/googleapis/python-bigquery/issues?q=state%3Aopen%20label%3A%22api%3A%20bigquery%22
type: feature request‘Nice-to-have’ improvement, new feature or different behavior or design.https://github.com/googleapis/python-bigquery/issues?q=state%3Aopen%20label%3A%22type%3A%20feature%20request%22
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.