Skip to content

Commit 788b37c

Browse files
author
elasticsearchmachine
committed
Forward port release notes for v8.15.4
1 parent d34c563 commit 788b37c

File tree

3 files changed

+332
-162
lines changed

3 files changed

+332
-162
lines changed
Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
[[migrating-8.15]]
2+
== Migrating to 8.15
3+
++++
4+
<titleabbrev>8.15</titleabbrev>
5+
++++
6+
7+
This section discusses the changes that you need to be aware of when migrating
8+
your application to {es} 8.15.
9+
10+
See also <<release-highlights>> and <<es-release-notes>>.
11+
12+
coming::[8.15.0]
13+
14+
15+
[discrete]
16+
[[breaking-changes-8.15]]
17+
=== Breaking changes
18+
19+
The following changes in {es} 8.15 might affect your applications
20+
and prevent them from operating normally.
21+
Before upgrading to 8.15, review these changes and take the described steps
22+
to mitigate the impact.
23+
24+
[discrete]
25+
[[breaking_815_cluster_and_node_setting_changes]]
26+
==== Cluster and node setting changes
27+
28+
[[change_skip_unavailable_remote_cluster_setting_default_value_to_true]]
29+
.Change `skip_unavailable` remote cluster setting default value to true
30+
[%collapsible]
31+
====
32+
*Details* +
33+
The default value of the `skip_unavailable` setting is now set to true. All existing and future remote clusters that do not define this setting will use the new default. This setting only affects cross-cluster searches using the _search or _async_search API.
34+
35+
*Impact* +
36+
Unavailable remote clusters in a cross-cluster search will no longer cause the search to fail unless skip_unavailable is configured to be `false` in elasticsearch.yml or via the `_cluster/settings` API. Unavailable clusters with `skip_unavailable`=`true` (either explicitly or by using the new default) are marked as SKIPPED in the search response metadata section and do not fail the entire search. If users want to ensure that a search returns a failure when a particular remote cluster is not available, `skip_unavailable` must be now be set explicitly.
37+
====
38+
39+
[discrete]
40+
[[breaking_815_rollup_changes]]
41+
==== Rollup changes
42+
43+
[[disallow_new_rollup_jobs_in_clusters_with_no_rollup_usage]]
44+
.Disallow new rollup jobs in clusters with no rollup usage
45+
[%collapsible]
46+
====
47+
*Details* +
48+
The put rollup API will fail with an error when a rollup job is created in a cluster with no rollup usage
49+
50+
*Impact* +
51+
Clusters with no rollup usage (either no rollup job or index) can not create new rollup jobs
52+
====
53+
54+
[discrete]
55+
[[breaking_815_rest_api_changes]]
56+
==== REST API changes
57+
58+
[[interpret_timeout_1_as_infinite_ack_timeout]]
59+
.Interpret `?timeout=-1` as infinite ack timeout
60+
[%collapsible]
61+
====
62+
*Details* +
63+
Today {es} accepts the parameter `?timeout=-1` in many APIs, but interprets
64+
this to mean the same as `?timeout=0`. From 8.15 onwards `?timeout=-1` will
65+
mean to wait indefinitely, aligning the behaviour of this parameter with
66+
other similar parameters such as `?master_timeout`.
67+
68+
*Impact* +
69+
Use `?timeout=0` to force relevant operations to time out immediately
70+
instead of `?timeout=-1`
71+
====
72+
73+
[[replace_model_id_with_inference_id]]
74+
.Replace `model_id` with `inference_id` in GET inference API
75+
[%collapsible]
76+
====
77+
*Details* +
78+
From 8.15 onwards the <<get-inference-api>> response will return an
79+
`inference_id` field instead of a `model_id`.
80+
81+
*Impact* +
82+
If your application uses the `model_id` in a GET inference API response,
83+
switch it to use `inference_id` instead.
84+
====
85+
86+
87+
[discrete]
88+
[[deprecated-8.15]]
89+
=== Deprecations
90+
91+
The following functionality has been deprecated in {es} 8.15
92+
and will be removed in a future version.
93+
While this won't have an immediate impact on your applications,
94+
we strongly encourage you to take the described steps to update your code
95+
after upgrading to 8.15.
96+
97+
To find out if you are using any deprecated functionality,
98+
enable <<deprecation-logging, deprecation logging>>.
99+
100+
[discrete]
101+
[[deprecations_815_cluster_and_node_setting]]
102+
==== Cluster and node setting deprecations
103+
104+
[[deprecate_absolute_size_values_for_indices_breaker_total_limit_setting]]
105+
.Deprecate absolute size values for `indices.breaker.total.limit` setting
106+
[%collapsible]
107+
====
108+
*Details* +
109+
Previously, the value of `indices.breaker.total.limit` could be specified as an absolute size in bytes. This setting controls the overal amount of memory the server is allowed to use before taking remedial actions. Setting this to a specific number of bytes led to strange behaviour when the node maximum heap size changed because the circut breaker limit would remain unchanged. This would either leave the value too low, causing part of the heap to remain unused; or it would leave the value too high, causing the circuit breaker to be ineffective at preventing OOM errors. The only reasonable behaviour for this setting is that it scales with the size of the heap, and so absolute byte limits are now deprecated.
110+
111+
*Impact* +
112+
Users must change their configuration to specify a percentage instead of an absolute number of bytes for `indices.breaker.total.limit`, or else accept the default, which is already specified as a percentage.
113+
====
114+
115+
[discrete]
116+
[[deprecations_815_rest_api]]
117+
==== REST API deprecations
118+
119+
[[deprecate_text_expansion_weighted_tokens_queries]]
120+
.Deprecate `text_expansion` and `weighted_tokens` queries
121+
[%collapsible]
122+
====
123+
*Details* +
124+
The `text_expansion` and `weighted_tokens` queries have been replaced by `sparse_vector`.
125+
126+
*Impact* +
127+
Please update your existing `text_expansion` and `weighted_tokens` queries to use `sparse_vector.`
128+
====
129+
130+
[[deprecate_using_slm_privileges_to_access_ilm]]
131+
.Deprecate using slm privileges to access ilm
132+
[%collapsible]
133+
====
134+
*Details* +
135+
The `read_slm` privilege can get the ILM status, and the `manage_slm` privilege can start and stop ILM. Access to these APIs should be granted using the `read_ilm` and `manage_ilm` privileges instead. Access to ILM APIs will be removed from SLM privileges in a future major release, and is now deprecated.
136+
137+
*Impact* +
138+
Users that need access to the ILM status API should now use the `read_ilm` privilege. Users that need to start and stop ILM, should use the `manage_ilm` privilege.
139+
====
140+
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
[[release-notes-8.15.4]]
2+
== {es} version 8.15.4
3+
4+
Also see <<breaking-changes-8.15,Breaking changes in 8.15>>.
5+
6+
[[bug-8.15.4]]
7+
[float]
8+
=== Bug fixes
9+
10+
Aggregations::
11+
* Always check the parent breaker with zero bytes in `PreallocatedCircuitBreakerService` {es-pull}115181[#115181]
12+
13+
ES|QL::
14+
* ESQL: Disable pushdown of WHERE past STATS {es-pull}115308[#115308] (issue: {es-issue}115281[#115281])
15+
16+
Geo::
17+
* Try to simplify geometries that fail with `TopologyException` {es-pull}115834[#115834]
18+
19+
Infra/Core::
20+
* Guard blob store local directory creation with `doPrivileged` {es-pull}115459[#115459]
21+
22+
License::
23+
* Fix lingering license warning header in IP filter {es-pull}115510[#115510] (issue: {es-issue}114865[#114865])
24+
25+
Search::
26+
* Do not exclude empty arrays or empty objects in source filtering {es-pull}112250[#112250] (issue: {es-issue}109668[#109668])
27+
* Fix synthetic source handling for `bit` type in `dense_vector` field {es-pull}114407[#114407] (issue: {es-issue}114402[#114402])
28+
29+
Vector Search::
30+
* Fix dim validation for bit `element_type` {es-pull}114533[#114533]
31+
* Support semantic_text in object fields {es-pull}114601[#114601] (issue: {es-issue}114401[#114401])
32+
33+

0 commit comments

Comments
 (0)