Skip to content

feat(gcp): Add retrier#5522

Merged
kodiakhq[bot] merged 5 commits intomainfrom
gcp/retrier
Dec 12, 2022
Merged

feat(gcp): Add retrier#5522
kodiakhq[bot] merged 5 commits intomainfrom
gcp/retrier

Conversation

@yevgenypats
Copy link
Copy Markdown
Contributor

This adds an initial support for backoff retry for ResourceExhausted errors.

Closes #5514

if r.curRetrier >= r.maxRetries {
return 0, false
}
r.curRetrier++
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we log if it went into a retry, and due to what error etc? Otherwise it will be a quiet log while in the background we retry things

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point. we should prob then add a way/configuration to log the grpc call as otherwise just having retry calls without everything else would be hard to understand.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

actually looking into that now it wont be too easy to pass which function it had but I'll add first the logging to the native grpc and it might be enough depending on how the logs are structured to see that a request is being retried. If it will become a big request then we can improve it even further to have the name of the function it is called from but it will be quite involved and "non-standard".

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Currently I am testing this out and having trouble inspecting what is going on with regards to validating that it is working...

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see. in that case the logs in the retrier won't be enough. I'll take a look at adding the gcp logs to that PR as well

@bbernays
Copy link
Copy Markdown
Collaborator

bbernays commented Dec 9, 2022

I found that gcp_iam_roles doesn't support this retry mechanism

@yevgenypats yevgenypats added the automerge Automatically merge once required checks pass label Dec 12, 2022
Copy link
Copy Markdown
Member

@erezrokah erezrokah left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving per other reviews

@kodiakhq kodiakhq bot merged commit bf8c212 into main Dec 12, 2022
@kodiakhq kodiakhq bot deleted the gcp/retrier branch December 12, 2022 13:59
kodiakhq bot pushed a commit that referenced this pull request Dec 13, 2022
🤖 I have created a release *beep* *boop*
---


## [4.0.0](plugins-source-gcp-v3.2.0...plugins-source-gcp-v4.0.0) (2022-12-13)


### ⚠ BREAKING CHANGES

* **gcp:** Only list enabled Services ([#5557](#5557))
* **gcp:** Only List Project Roles ([#5556](#5556))
* **gcp:** `private_key_type` column was removed from the `gcp_iam_service_account_keys` table as it was always populated with `nil`. If you were using it in one of your queries, you can safely remove it.

### Features

* **gcp:** Add retrier ([#5522](#5522)) ([bf8c212](bf8c212)), closes [#5514](#5514)


### Bug Fixes

* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.11.1 ([#5458](#5458)) ([58b7432](58b7432))
* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.11.2 ([#5497](#5497)) ([c1876cf](c1876cf))
* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.12.0 ([#5539](#5539)) ([fb71293](fb71293))
* **gcp:** Fix context to work when syncing ([#5512](#5512)) ([81c8075](81c8075))
* **gcp:** Only list enabled Services ([#5557](#5557)) ([5310bef](5310bef))
* **gcp:** Only List Project Roles ([#5556](#5556)) ([51acb48](51acb48))
* **gcp:** Remove `private_key_type` column from `gcp_iam_service_account_keys` ([1371928](1371928))

---
This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automerge Automatically merge once required checks pass

Projects

None yet

Development

Successfully merging this pull request may close these issues.

GCP Retry

5 participants