Skip to content
This repository has been archived by the owner on Jul 5, 2023. It is now read-only.

docs/extend/resources/retries-and-customizable-timeouts.html: Update to explain nuance when using SDK v2 Context CRUD functions #1809

Closed
CyrusJavan opened this issue Aug 9, 2021 · 3 comments · Fixed by #1990
Assignees
Labels
Backlog clarification Something could be explained more usefully plugin Docs for extending terraform and writing providers

Comments

@CyrusJavan
Copy link

I think this page should be updated to reflect the nuance of using the v2 SDK with Context aware CRUD functions. With Context CRUDs, there is already a default 20 minute timeout so the setting for resource.StateChangeConf.Timeout will not be respected if it is greater than 20 minutes. You can see this confusion in the wild here (vultr/terraform-provider-vultr#159) where a provider developer thought their resource.StateChangeConf.Timeout of 60 minutes was being respected, but actually the 20 minute timeout would always be hit first.

@laurapacilio laurapacilio added clarification Something could be explained more usefully plugin Docs for extending terraform and writing providers labels Aug 13, 2021
@bflad
Copy link
Contributor

bflad commented Aug 13, 2021

Excellent suggestion. Real briefly -- two additional options in this case:

@laurapacilio
Copy link
Contributor

laurapacilio commented Nov 4, 2021

Hi All, I'm going to mark this as "Backlog" for now until it can be planned in. I know it's been added to the engineering backlog. Just wanted to provide this update and let you know why I'm adding the label. We can follow up here and close out this ticket once it's been addressed. Thank you!

@laurapacilio laurapacilio added On Hold Cannot address at this time Backlog and removed On Hold Cannot address at this time labels Nov 4, 2021
bflad added a commit that referenced this issue Dec 1, 2021
… function defaults and recommendations

Reference: #1809

Terraform Plugin SDK version 2 introduced 20 minute CRUD function default timeouts, which can be confusing for provider developers. Later on, `WithoutTimeout` CRUD functions were introduced to bypass this new SDK behavior. This page has been updated to include a new section on the default timeouts, more information on both provider developer and practicitioner customization of these timeouts, and recommendations for what to do when encountering the SDK-defined context error.
bflad added a commit that referenced this issue Dec 6, 2021
… function defaults and recommendations (#1990)

Reference: #1809

Terraform Plugin SDK version 2 introduced 20 minute CRUD function default timeouts, which can be confusing for provider developers. Later on, `WithoutTimeout` CRUD functions were introduced to bypass this new SDK behavior. This page has been updated to include a new section on the default timeouts, more information on both provider developer and practicitioner customization of these timeouts, and recommendations for what to do when encountering the SDK-defined context error.
@bflad
Copy link
Contributor

bflad commented Dec 6, 2021

Hi @CyrusJavan 👋 Thank you for raising this. Updates have been posted to https://www.terraform.io/docs/extend/resources/retries-and-customizable-timeouts.html which should now clarify the default behaviors across the CRUD functions and offer more appropriate recommendations. Please reach out if there is anything else!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Backlog clarification Something could be explained more usefully plugin Docs for extending terraform and writing providers
Projects
None yet
3 participants