mirror of
https://github.com/elastic/elasticsearch.git
synced 2025-04-24 15:17:30 -04:00
Script: Restore the scripting general cache (#79453)
Deprecate the script context cache in favor of the general cache. Users should use the following settings: `script.max_compilations_rate` to set the max compilation rate for user scripts such as filter scripts. Certain script contexts that submit scripts outside of the control of the user are exempted from this rate limit. Examples include runtime fields, ingest and watcher. `script.cache.max_size` to set the max size of the cache. `script.cache.expire` to set the expiration time for entries in the cache. Whats deprecated? `script.max_compilations_rate: use-context`. This special setting value was used to turn on the script context-specific caches. `script.context.$CONTEXT.cache_max_size`, use `script.cache.max_size` instead. `script.context.$CONTEXT.cache_expire`, use `script.cache.expire` instead. `script.context.$CONTEXT.max_compilations_rate`, use `script.max_compilations_rate` instead. The default cache size was increased from `100` to `3000`, which was approximately the max cache size when using context-specific caches. The default compilation rate limit was increased from `75/5m` to `150/5m` to account for increasing uses of scripts. System script contexts can now opt-out of compilation rate limiting using a flag rather than a sentinel rate limit value. 7.16: Script: Deprecate script context cache #79508 Refs: #62899 7.16: Script: Opt-out system contexts from script compilation rate limit #79459 Refs: #62899
This commit is contained in:
parent
78fcd0e1b4
commit
808b70d2f9
31 changed files with 990 additions and 117 deletions
|
@ -120,12 +120,8 @@ the `multiplier` parameter without {es} recompiling the script.
|
|||
}
|
||||
----
|
||||
|
||||
For most contexts, you can compile up to 75 scripts per 5 minutes by default.
|
||||
For ingest contexts, the default script compilation rate is unlimited. You
|
||||
can change these settings dynamically by setting
|
||||
`script.context.$CONTEXT.max_compilations_rate`. For example, the following
|
||||
setting limits script compilation to 100 scripts every 10 minutes for the
|
||||
{painless}/painless-field-context.html[field context]:
|
||||
You can compile up to 150 scripts per 5 minutes by default.
|
||||
For ingest contexts, the default script compilation rate is unlimited.
|
||||
|
||||
[source,js]
|
||||
----
|
||||
|
@ -406,8 +402,8 @@ small.
|
|||
|
||||
All scripts are cached by default so that they only need to be recompiled
|
||||
when updates occur. By default, scripts do not have a time-based expiration.
|
||||
You can change this behavior by using the `script.context.$CONTEXT.cache_expire` setting.
|
||||
Use the `script.context.$CONTEXT.cache_max_size` setting to configure the size of the cache.
|
||||
You can change this behavior by using the `script.cache.expire` setting.
|
||||
Use the `script.cache.max_size` setting to configure the size of the cache.
|
||||
|
||||
NOTE: The size of scripts is limited to 65,535 bytes. Set the value of `script.max_size_in_bytes` to increase that soft limit. If your scripts are
|
||||
really large, then consider using a
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue