-
Notifications
You must be signed in to change notification settings - Fork 24.9k
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
Script: Implicit context cache #81552
Script: Implicit context cache #81552
Conversation
The script context cache is deprecated. In 7.16 the default value of `script.max_compilation_rate` was switched from `"use-context"`, to `"150/5m". That means uses would have to explicitly set "use-context" to use any of the context cache families of settings: `script.context.*.max_compilations_rate` `script.context.*.cache_max_size` `script.context.*.cache_expire` On upgrades to 7.16, if the customer was using the default and had set any of those settings without setting `script.max_compilation_rate: "use-context"`, the upgrade would be rejected. To avoid an unintentional breaking change, the script service will now **implicitly** use the script context cache if `script.max_compilation_rate` is **unset** and any of the context cache family of settings is set. The context cache will also be used if `script.max_compilation_rate: "use-context"`, as before. Fixes: elastic#81486
Hi @stu-elastic, I've created a changelog YAML for you. |
Pinging @elastic/es-core-infra (Team:Core/Infra) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the quick work on this! @stu-elastic walked me through this, and the logic seems sound.
+ "]" | ||
); | ||
if (contextSettings.incompatibleSettings()) { | ||
throw new IllegalArgumentException(contextSettings.incompatibleSettingsMessage()); | ||
} | ||
if (SCRIPT_DISABLE_MAX_COMPILATIONS_RATE_SETTING.get(settings)) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@stu-elastic You mentioned this setting is only used as part of testing. If a user were to set this are there any other problems that may occur?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's an internal, undocumented setting for tests. If they set this they'll never have rate limits, updating other settings with respect to this one is unsupported.
💔 Backport failed
You can use sqren/backport to manually backport by running |
The script context cache is deprecated. In 7.16 the default value of `script.max_compilation_rate` was switched from `"use-context"`, to `"150/5m"`. That means uses would have to explicitly set `"use-context"` to use any of the context cache families of settings: `script.context.*.max_compilations_rate` `script.context.*.cache_max_size` `script.context.*.cache_expire` On upgrades to 7.16, if the customer was using the default and had set any of those settings without setting `script.max_compilation_rate: "use-context"`, the upgrade would be fail. To avoid an unintentional breaking change, the script service will now **implicitly** use the script context cache if `script.max_compilation_rate` is **unset** and any of the context cache family of settings is set. The context cache will also be used if `script.max_compilation_rate: "use-context"`, as before. Fixes: elastic#81486
The script context cache is deprecated. In 7.16 the default value of `script.max_compilation_rate` was switched from `"use-context"`, to `"150/5m". That means uses would have to explicitly set "use-context" to use any of the context cache families of settings: `script.context.*.max_compilations_rate` `script.context.*.cache_max_size` `script.context.*.cache_expire` On upgrades to 7.16, if the customer was using the default and had set any of those settings without setting `script.max_compilation_rate: "use-context"`, the upgrade would be rejected. To avoid an unintentional breaking change, the script service will now **implicitly** use the script context cache if `script.max_compilation_rate` is **unset** and any of the context cache family of settings is set. The context cache will also be used if `script.max_compilation_rate: "use-context"`, as before. Fixes: elastic#81486 Backport: ba6c17d
The script context cache is deprecated. In 7.16 the default value of `script.max_compilation_rate` was switched from `"use-context"`, to `"150/5m"`. That means uses would have to explicitly set `"use-context"` to use any of the context cache families of settings: `script.context.*.max_compilations_rate` `script.context.*.cache_max_size` `script.context.*.cache_expire` On upgrades to 7.16, if the customer was using the default and had set any of those settings without setting `script.max_compilation_rate: "use-context"`, the upgrade would be fail. To avoid an unintentional breaking change, the script service will now **implicitly** use the script context cache if `script.max_compilation_rate` is **unset** and any of the context cache family of settings is set. The context cache will also be used if `script.max_compilation_rate: "use-context"`, as before. Fixes: #81486 Backport: ba6c17d
* [7.16] Script: Implicit context cache (#81552) The script context cache is deprecated. In 7.16 the default value of `script.max_compilation_rate` was switched from `"use-context"`, to `"150/5m". That means uses would have to explicitly set "use-context" to use any of the context cache families of settings: `script.context.*.max_compilations_rate` `script.context.*.cache_max_size` `script.context.*.cache_expire` On upgrades to 7.16, if the customer was using the default and had set any of those settings without setting `script.max_compilation_rate: "use-context"`, the upgrade would be rejected. To avoid an unintentional breaking change, the script service will now **implicitly** use the script context cache if `script.max_compilation_rate` is **unset** and any of the context cache family of settings is set. The context cache will also be used if `script.max_compilation_rate: "use-context"`, as before. Fixes: #81486 Backport: ba6c17d
The script context cache is deprecated.
In 7.16 the default value of
script.max_compilation_rate
was switched from"use-context"
,to
"150/5m"
.That means uses would have to explicitly set
"use-context"
to use any of the context cache families of settings:script.context.*.max_compilations_rate
script.context.*.cache_max_size
script.context.*.cache_expire
On upgrades to 7.16, if the customer was using the default and had set any of those settings without setting
script.max_compilation_rate: "use-context"
, the upgrade would be fail.To avoid an unintentional breaking change, the script service will now implicitly use the script context cache if
script.max_compilation_rate
is unset and any of the context cache family of settings is set.The context cache will also be used if
script.max_compilation_rate: "use-context"
, as before.Fixes: #81486