Don't default to Eco JVM settings for unknown dynos #282
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently, if a Dyno type cannot be determined via
ulimit -u
output matching the JVM options forEco
dynos will be used. These are the most aggressively and specifically tuned options for a low-memory environment. This PR changes this behaviour to explicitly match forEco
,Basic
andStandard-1X
dynos and default to using JVM ergonomics with a heap maximum of 80% of system memory.JVM ergonomics work well enough as a default for environment that are not memory constrained. In addition, JVM ergonomics are not Heroku specific and should be less surprising for customers.
We could potentially default
Performance-M
andPerformance-L
Dynos to JVM ergonomics as well, but I decided to keep the already established defaults to avoid surprising behaviour for existing customers. The only benefit for us would be the removal of two trivial lines of code. That said, it might be worth making this change for the CNB future.I manually verified that the JVM settings on each existing Dyno type do not change between main and this PR.
Ref: GUS-W-4634736