Conversation
| @@ -0,0 +1,5 @@ | |||
| kind: UPGRADE NOTES | |||
| body: 'Container-aware gomaxprocs: The parallelism of terraform operations within container runtimes may change depending on the CPU Limit setting.' | |||
There was a problem hiding this comment.
From my own understanding of the Go changelog, it can only go down, rather than up (as a container cannot possibly have more CPU available than the host) - correct me if I'm wrong.
Also we are not changing anything about users' chosen parallelism (when they explicitly pass parallelism flag), right?
So shall we tune the wording here to say e.g.
The _default_ parallelism of Terraform operations within container runtimes may be _reduced_ depending on the CPU bandwidth limit setting.
There was a problem hiding this comment.
Also we are not changing anything about users' chosen parallelism (when they explicitly pass parallelism flag), right?
I think if they set the parallelism to a quite high value, the go runtime may still not be able to offer them that level of parallelism if it is higher than the number of goroutines the runtime can execute concurrently.
The only thing I would remove from your suggested wording then is the default part.
There was a problem hiding this comment.
I think if they set the parallelism to a quite high value, the go runtime may still not be able to offer them that level of parallelism if it is higher than the number of goroutines the runtime can execute concurrently.
Yes, but that was always true and it comes with the design of Go routines that itself has not changed, AFAICT. The additional go routines will end up blocked/queued and the user then achieves concurrency but not parallelism.
That being said I don't feel particularly strongly about this - I think it would just make the wording a tiny bit more helpful for end users. No big deal if we just go with the current wording. 😄
|
I wonder if we should create an alpha entry here so we can stage the upgrade guide changes as well? 🤔 The upside is we don't forget, the downside is that we may forget to cherry-pick other changes from 1.13 as we don't have a backporting automation active there. |
|
I'm going to lock this pull request because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active contributions. |
Release notes: https://go.dev/doc/go1.25
Changes that may affect terraform:
Target Release
1.14.x
Rollback Plan
Changes to Security Controls
Are there any changes to security controls (access controls, encryption, logging) in this pull request? If so, explain.
CHANGELOG entry