Skip to content

Commit 9a1f688

Browse files
elasticsearchmachineelasticsearchmachinecharlotte-hoblik
authored
Add release notes for v9.1.1 release (#132488)
* Update docs for v9.1.1 release * Apply writing guidelines on breaking changes * Apply writing guidelines on deprications * Edit release notes * Apply writing guidelines on release notes --------- Co-authored-by: elasticsearchmachine <[email protected]> Co-authored-by: Charlotte Hoblik <[email protected]>
1 parent a13c7a4 commit 9a1f688

File tree

4 files changed

+204
-0
lines changed

4 files changed

+204
-0
lines changed

docs/release-notes/breaking-changes.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,13 @@ If you are migrating from a version prior to version 9.0, you must first upgrade
1212

1313
% ## Next version [elasticsearch-nextversion-breaking-changes]
1414

15+
```{applies_to}
16+
stack: coming 9.1.1
17+
```
18+
## 9.1.1 [elasticsearch-9.1.1-breaking-changes]
19+
20+
There are no breaking changes associated with this release.
21+
1522
## 9.1.0 [elasticsearch-9.1.0-breaking-changes]
1623

1724
Discovery-Plugins:
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
version: 9.1.1
2+
released: false
3+
generated: 2025-08-06T08:42:03.230079779Z
4+
changelogs:
5+
- pr: 130279
6+
summary: Fix missing removal of query cancellation callback in QueryPhase
7+
area: Search
8+
type: bug
9+
issues:
10+
- 130071
11+
- pr: 131053
12+
summary: Split large pages on load sometimes
13+
area: ES|QL
14+
type: bug
15+
issues: []
16+
- pr: 131429
17+
summary: Prevent auto-sharding for data streams in LOOKUP index mode
18+
area: Data streams
19+
type: bug
20+
issues: []
21+
- pr: 131658
22+
summary: Fix `aggregate_metric_double` sorting and `mv_expand` issues
23+
area: ES|QL
24+
type: bug
25+
issues: []
26+
- pr: 131680
27+
summary: Grant server module read/write entitlements for deprecated path setting "path.shared_data"
28+
area: Infra/Core
29+
type: bug
30+
issues: []
31+
- pr: 131817
32+
summary: Change equals and hashcode for `ConstantNullBlock`
33+
area: ES|QL
34+
type: bug
35+
issues: []
36+
- pr: 131917
37+
summary: Fix NPE on empty to_lower/to_upper call
38+
area: ES|QL
39+
type: bug
40+
issues:
41+
- 131913
42+
- pr: 131945
43+
summary: Restrict remote ENRICH after FORK
44+
area: ES|QL
45+
type: bug
46+
issues:
47+
- 131445
48+
- pr: 131990
49+
summary: Prevent the trained model deployment memory estimation from double-counting allocations
50+
area: Machine Learning
51+
type: bug
52+
issues: []
53+
- pr: 132018
54+
summary: Fix decoding of non-ascii field names in ignored source
55+
area: Mapping
56+
type: bug
57+
issues: []
58+
- pr: 132088
59+
summary: Fix combine result for `ingest_took`
60+
area: ES|QL
61+
type: bug
62+
issues: []
63+
- pr: 132101
64+
summary: Simulate ingest API uses existing index mapping when `mapping_addition` is given
65+
area: Ingest Node
66+
type: bug
67+
issues: []
68+
- pr: 132162
69+
summary: Fix default missing index sort value of `data_nanos` pre 7.14
70+
area: Search
71+
type: bug
72+
issues:
73+
- 132040
74+
- pr: 132167
75+
summary: Deal with internally created IN in a different way for EQL
76+
area: EQL
77+
type: bug
78+
issues:
79+
- 118621
80+
- pr: 132260
81+
summary: FIx Driver creating status with a live list of operators
82+
area: ES|QL
83+
type: bug
84+
issues:
85+
- 131564

docs/release-notes/deprecations.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,13 @@ To give you insight into what deprecated features you’re using, {{es}}:
1616

1717
% ## Next version [elasticsearch-nextversion-deprecations]
1818

19+
```{applies_to}
20+
stack: coming 9.1.1
21+
```
22+
## 9.1.1 [elasticsearch-9.1.1-deprecations]
23+
24+
There are no deprecations associated with this release.
25+
1926
## 9.1.0 [elasticsearch-9.1.0-deprecations]
2027

2128
There are no deprecations associated with this release.

docs/release-notes/index.md

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,111 @@ To check for security updates, go to [Security announcements for the Elastic sta
2020
% ### Fixes [elasticsearch-next-fixes]
2121
% *
2222

23+
## 9.1.1 [elasticsearch-9.1.1-release-notes]
24+
```{applies_to}
25+
stack: coming 9.1.1
26+
```
27+
28+
### Fixes [elasticsearch-9.1.1-fixes]
29+
30+
Data streams:
31+
:::{dropdown} Disables auto-sharding for LOOKUP index mode
32+
Auto-sharding for data streams caused unsupported replica scaling when the index mode was set to `LOOKUP`.
33+
This happened because lookup mappers do not support scaling beyond one replica.
34+
[#131429](https://github.com/elastic/elasticsearch/pull/131429) resolves this issue by disabling auto-sharding for data streams with `LOOKUP` index mode, avoiding unsupported replica settings.
35+
:::
36+
37+
EQL:
38+
:::{dropdown} Resolves EQL parsing failure for IP-mapped fields in `OR` expressions
39+
Parsing EQL queries failed when comparing the same IP-mapped field to multiple values joined by an `OR` expression.
40+
This occurred because lookup operators were internally rewritten into `IN` expressions, which are unsupported for IP-type fields.
41+
[#132167](https://github.com/elastic/elasticsearch/pull/132167) resolves the issue and ensures EQL can now successfully parse and execute such or queries involving IP fields. (issue: [#118621](https://github.com/elastic/elasticsearch/issues/118621))
42+
:::
43+
44+
ES|QL:
45+
:::{dropdown} Fixes inconsistent equality and hashcode behavior for `ConstantNullBlock`
46+
Inconsistent equality checks caused `constantNullBlock.equals(anyDoubleBlock)` to return false, even when `doubleBlock.equals(constantNullBlock)` returned true.
47+
This asymmetry led to unreliable comparisons and mismatched hashcodes when `ConstantNullBlock` was functionally equivalent to other standard blocks.
48+
[#131817](https://github.com/elastic/elasticsearch/pull/131817) resolves the issue and ensures both equality and hashcode functions are symmetric for these block types.
49+
:::
50+
51+
:::{dropdown} Fixes `ConcurrentModificationException` caused by live operator list
52+
A `ConcurrentModificationException` caused test failures in `CrossClusterAsyncEnrichStopIT.testEnrichAfterStop` under certain conditions.
53+
This happened because the ES|QL driver added a live operator list to the `DriverStatus` object, which could be modified while the status was being serialized.
54+
[#132260](https://github.com/elastic/elasticsearch/pull/132260) fixes the issue by copying the operator list before storing it, preventing concurrent changes during status reads.
55+
(issue: [#131564](https://github.com/elastic/elasticsearch/issues/131564))
56+
:::
57+
58+
:::{dropdown} Prevents null pointer exception for `to_lower` and `to_upper` with no parameters
59+
Calling the `to_lower` or `to_upper` functions with no parameters caused a null pointer exception (NPE), instead of returning a clear error.
60+
This behavior was a result of an older implementation of these functions.
61+
[#131917](https://github.com/elastic/elasticsearch/pull/131917) resolves the issue and ensures that empty parameter calls now return the correct error message. (issue: [#131913](https://github.com/elastic/elasticsearch/issues/131913))
62+
:::
63+
64+
:::{dropdown} Fixes `aggregate_metric_double` decoding and `mv_expand` behavior on multi-index queries
65+
Sorting across multiple indices failed when one index contained an `aggregate_metric_double` field and another did not.
66+
In this case, the missing field was encoded as `NullBlock` but later incorrectly decoded as `AggregateMetricDoubleBlock`, which expects four values. This mismatch caused decoding errors.
67+
[#131658](https://github.com/elastic/elasticsearch/pull/131658) resolves the issue and also improves `mv_expand` by returning the input block unchanged for unsupported `AggregateMetricDoubleBlock` values, avoiding unnecessary errors.
68+
:::
69+
70+
:::{dropdown} Fixes incorrect `ingest_took` value when combining bulk responses
71+
Combining two `BulkResponse` objects with `ingest_took` set to `NO_INGEST_TOOK` resulted in a combined `ingest_took` value of `-2`, which was invalid.
72+
This occurred because the combination logic failed to preserve the sentinel `NO_INGEST_TOOK` constant.
73+
[#132088](https://github.com/elastic/elasticsearch/pull/132088) resolves the issue and ensures the result is correctly set to `NO_INGEST_TOOK` when applicable.
74+
:::
75+
76+
:::{dropdown} Disallows remote ENRICH after FORK in query plans
77+
An invalid combination of `FORK` followed by a remote-only `ENRICH` caused incorrect query planning and failed executions. [#131945](https://github.com/elastic/elasticsearch/pull/131945) resolves the issue by explicitly disallowing this combination, preventing invalid plans from being executed. (issue: [#131445](https://github.com/elastic/elasticsearch/issues/131445))
78+
:::
79+
80+
:::{dropdown} Adds support for splitting large pages on load to avoid memory pressure
81+
Loading large rows from a single segment occasionally created oversized pages when decoding values row-by-row, particularly for text and geo fields.
82+
This could cause memory pressure or degraded performance.
83+
[#131053](https://github.com/elastic/elasticsearch/pull/131053) resolves the issue by estimating the size of each page as rows are loaded.
84+
If the estimated size exceeds a configurable `jumbo` threshold (defaulting to one megabyte), row loading stops early, the page is returned, and remaining rows are processed in subsequent iterations.
85+
This prevents loading incomplete or oversized pages during data aggregation.
86+
:::
87+
88+
Infra/Core:
89+
:::{dropdown} Grants server module read/write permissions for deprecated `path.shared_data` setting
90+
Grants the server module read/write access to the deprecated `path.shared_data` setting.
91+
[#131680](https://github.com/elastic/elasticsearch/pull/131680) resolves issues surfaced in internal testing and ensures compatibility with legacy configurations.
92+
:::
93+
94+
Ingest Node:
95+
:::{dropdown} Fixes incorrect mapping resolution in simulate ingest API when `mapping_addition` is provided
96+
When using the simulate ingest API with a `mapping_addition`, the system incorrectly ignored the existing mapping of the target index and instead applied the mapping from a matching index template, if one existed.
97+
This caused mismatches between the index and simulation behavior.
98+
[#132101](https://github.com/elastic/elasticsearch/pull/132101) resolves the issue and ensures that the index’s actual mapping is used when available, preserving consistency between simulation and execution.
99+
:::
100+
101+
Machine Learning:
102+
:::{dropdown} Prevents double-counting of allocations in trained model deployment memory estimation
103+
A recent refactor introduced a bug that caused the trained model memory estimation to double-count the number of allocations, leading to inflated memory usage projections.
104+
[#131990](https://github.com/elastic/elasticsearch/pull/131990) resolves the issue by reverting the change and restoring accurate memory estimation for trained model deployments.
105+
:::
106+
107+
Mapping:
108+
:::{dropdown} Fixes decoding failure for non-ASCII field names in `_ignored_source`
109+
A decoding error occurred when field names in `_ignored_source` contained non-ASCII characters.
110+
This happened because `String.length()` was used to calculate the byte length of the field name, which only works correctly for ASCII characters.
111+
[#132018](https://github.com/elastic/elasticsearch/pull/132018) resolves the issue by using the actual byte array length of the encoded field name, ensuring proper decoding regardless of character encoding.
112+
:::
113+
114+
Search:
115+
:::{dropdown} Fixes index sort compatibility for `date_nanos` fields in indices created before 7.14
116+
Indices created prior to version 7.14 that used an index sort on a `date_nanos` field could not be opened in more recent versions due to a mismatch in the default `index.sort.missing` value.
117+
A change in version 7.14 modified the default from `Long.MIN_VALUE` to `0L`, which caused newer versions to reject those older indices.
118+
[#132162](https://github.com/elastic/elasticsearch/pull/132162) resolves the issue by restoring the expected default value for indices created before 7.14, allowing them to open successfully in newer versions. (issue: [#132040](https://github.com/elastic/elasticsearch/issues/132040))
119+
:::
120+
121+
:::{dropdown} Fix missing removal of query cancellation callback in QueryPhase
122+
The timeout cancellation callback registered in `QueryPhase` via `addQueryCancellation` was not removed after the query phase completed.
123+
This caused unintended timeouts or cancellations during subsequent phases under specific conditions (such as large datasets, low timeouts, and partial search results enabled).
124+
[#130279](https://github.com/elastic/elasticsearch/pull/130279) resolves the issue and ensures predictable behavior by reintroducing the cleanup logic. (issue: [#130071](https://github.com/elastic/elasticsearch/issues/130071))
125+
:::
126+
127+
23128
## 9.1.0 [elasticsearch-9.1.0-release-notes]
24129

25130
### Highlights [elasticsearch-9.1.0-highlights]

0 commit comments

Comments
 (0)