-
Notifications
You must be signed in to change notification settings - Fork 427
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug]: Excessive output for resource "snowflake_user" slows down Terraform #3118
Comments
We don't have quite that many users, but share the same concern. The new structure is also difficult to navigate (both visually [in a |
Hey @rd-thomas-uhren @AaronCoquet-Easypark. Thanks for reaching out to us. I will prepare a longer answer with explanations, motivations, and recommendations tomorrow. For now, I have the following questions:
|
Hi @sfc-gh-asawicki, The build step took twice as long, but we were unable to apply these changes since we ran into a timeout; after 12 hours. We observed that it took approximately five minutes per user to write to the state file. Regards, |
Hey. A longer answer and recommendation below.
You are right, that description attribute is not logically needed. We can remove/conditionally remove it from the The plan performance drop is expected because the resource handles more Snowflake communication now: parameters were not handled directly inside the That leads to the topic of performance in the current provider version (and also upcoming V1). First of all, we plan to do performance tests on our side in early November. We will investigate then the performance for variety amounts of user resources managed in a single deployment. We will document the outcomes publicly. We plan to address the problems then. We will also document our guidelines for the single deployment size for users. The performance drop you mention is a Terraform limitation. It's not only about the file size and the need to download/upload it with every change but also the performance of Terraform building the object graph. You can check for example this thread https://discuss.hashicorp.com/t/remote-state-file-size-limit/46324. Our recommendation is to split your deployment into smaller ones. That way, you make the planning/apply faster for the single deployment and reduce the state file size at the same time. It also helps to put logical boundaries between the deployments but this is use-case specific. |
Hey @liamjamesfoley, some drop is expected; please check the third paragraph above (starting with |
Hi @liamjamesfoley, Do you have any timeline for the removal of the parameters output? Regards, |
Hi @rd-thomas-uhren I think you tagged the wrong user 😅 |
Hey @rd-thomas-uhren. We don't have a timeline to verify that we can remove parameters output conditionally without affecting the logic. Currently, I think it will be done after V1. |
<!-- Feel free to delete comments as you fill this in --> - Add basic performance tests in the manual tests package. - Include a tf lock file in gitignore. - Update the state of resource rework. <!-- summary of changes --> ## Test Plan <!-- detail ways in which this PR has been tested or needs to be tested --> * [ ] acceptance tests <!-- add more below if you think they are relevant --> * [ ] … ## References #3118 #3169 ## TODO <!-- issues documentation links, etc --> - Publish the summary document.
Terraform CLI Version
1.5.7
Terraform Provider Version
0.96.0
Terraform Configuration
Category
category:resource
Object type(s)
No response
Expected Behavior
State doesn't contain the description and default value for each individual resource.
Actual Behavior
State contains the description and default value for each individual resource.
Steps to Reproduce
Upgrade from 0.94.0 to 0.96.0
How much impact is this issue causing?
Low
Logs
No response
Additional Information
No response
Would you like to implement a fix?
The text was updated successfully, but these errors were encountered: