Skip to content

Commit 64fb8b5

Browse files
authored
Merge branch 'main' into test-failure/RcsCcsCommonYamlTestSuiteIT_suite_timeout
2 parents ba907d2 + df7373b commit 64fb8b5

File tree

7 files changed

+309
-4
lines changed

7 files changed

+309
-4
lines changed

docs/release-notes/breaking-changes.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ 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+
## 9.1.2 [elasticsearch-9.1.2-breaking-changes]
16+
17+
There are no breaking changes associated with this release.
18+
1519
## 9.1.1 [elasticsearch-9.1.1-breaking-changes]
1620

1721
There are no breaking changes associated with this release.
@@ -120,6 +124,10 @@ Test the upgrade in a non-production environment. Adapt your configuration to th
120124
For more information, view [#126843](https://github.com/elastic/elasticsearch/pull/126843) (issue: [#120993](https://github.com/elastic/elasticsearch/issues/120993))
121125
:::
122126

127+
## 9.0.5 [elasticsearch-9.0.5-breaking-changes]
128+
129+
There are no breaking changes associated with this release.
130+
123131
## 9.0.4 [elasticsearch-9.0.4-breaking-changes]
124132

125133
No breaking changes in this version.
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
version: 9.0.5
2+
released: false
3+
generated: 2025-08-11T18:17:36.232343699Z
4+
changelogs:
5+
- pr: 124918
6+
summary: Fix EQL double invoking listener
7+
area: EQL
8+
type: bug
9+
issues: []
10+
- pr: 129282
11+
summary: "Fix query rewrite logic to preserve `boosts` and `queryName` for `match`, `knn`, and `sparse_vector` queries on semantic_text fields"
12+
area: Search
13+
type: bug
14+
issues: []
15+
- pr: 129745
16+
summary: "ESQL: Fix `mv_expand` inconsistent column order"
17+
area: ES|QL
18+
type: bug
19+
issues:
20+
- 129000
21+
- pr: 130279
22+
summary: Fix missing removal of query cancellation callback in QueryPhase
23+
area: Search
24+
type: bug
25+
issues:
26+
- 130071
27+
- pr: 131236
28+
summary: Correctly handling `download_database_on_pipeline_creation` within a pipeline processor within a default or final pipeline
29+
area: Ingest Node
30+
type: bug
31+
issues: []
32+
- pr: 131391
33+
summary: Fix bug in point in time response
34+
area: Search
35+
type: bug
36+
issues:
37+
- 131026
38+
- pr: 131426
39+
summary: Disallow remote enrich after lu join
40+
area: ES|QL
41+
type: bug
42+
issues:
43+
- 129372
44+
- pr: 131429
45+
summary: Prevent auto-sharding for data streams in LOOKUP index mode
46+
area: Data streams
47+
type: bug
48+
issues: []
49+
- pr: 131630
50+
summary: Fix memory usage estimation for ELSER models
51+
area: Machine Learning
52+
type: bug
53+
issues: []
54+
- pr: 131677
55+
summary: Throw better exception if verifying empty repo
56+
area: Snapshot/Restore
57+
type: bug
58+
issues: []
59+
- pr: 131680
60+
summary: Grant server module read/write entitlements for deprecated path setting "path.shared_data"
61+
area: Infra/Core
62+
type: bug
63+
issues: []
64+
- pr: 131711
65+
summary: Track & log when there is insufficient disk space available to execute merges
66+
area: Engine
67+
type: enhancement
68+
issues: []
69+
- pr: 131990
70+
summary: Prevent the trained model deployment memory estimation from double-counting allocations
71+
area: Machine Learning
72+
type: bug
73+
issues: []
74+
- pr: 132018
75+
summary: Fix decoding of non-ascii field names in ignored source
76+
area: Mapping
77+
type: bug
78+
issues: []
79+
- pr: 132101
80+
summary: Simulate ingest API uses existing index mapping when `mapping_addition` is given
81+
area: Ingest Node
82+
type: bug
83+
issues: []
84+
- pr: 132167
85+
summary: Deal with internally created IN in a different way for EQL
86+
area: EQL
87+
type: bug
88+
issues:
89+
- 118621
90+
- pr: 132260
91+
summary: FIx Driver creating status with a live list of operators
92+
area: ES|QL
93+
type: bug
94+
issues:
95+
- 131564
96+
- pr: 132320
97+
summary: "Aggs: Add validation to Bucket script pipeline agg"
98+
area: Aggregations
99+
type: bug
100+
issues:
101+
- 132272
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
version: 9.1.2
2+
released: false
3+
generated: 2025-08-11T22:54:57.775421149Z
4+
changelogs:
5+
- pr: 132320
6+
summary: "Aggs: Add validation to Bucket script pipeline agg"
7+
area: Aggregations
8+
type: bug
9+
issues:
10+
- 132272
11+
- pr: 132387
12+
summary: "[ExtraHop & QualysGAV] Add `manage`, `create_index`, `read`, `index`, `write`, `delete`, permission for third party agent indices `kibana_system`"
13+
area: Authorization
14+
type: enhancement
15+
issues:
16+
- 131825
17+
- pr: 132459
18+
summary: Small fixes for COPY_SIGN
19+
area: ES|QL
20+
type: bug
21+
issues: []
22+
- pr: 132570
23+
summary: Always stop the timer when profiling the fetch phase
24+
area: Search
25+
type: bug
26+
issues: []
27+
- pr: 132593
28+
summary: Strings outside BMP have 2 chars per code points
29+
area: Mapping
30+
type: bug
31+
issues: []
32+
- pr: 132597
33+
summary: Use local segment `fieldInfos` to lookup tsdb merge stats
34+
area: Codec
35+
type: bug
36+
issues: []

docs/release-notes/deprecations.md

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

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

19+
## 9.1.2 [elasticsearch-9.1.2-deprecations]
20+
21+
There are no deprecations associated with this release.
22+
1923
## 9.1.1 [elasticsearch-9.1.1-deprecations]
2024

2125
There are no deprecations associated with this release.
@@ -24,6 +28,10 @@ There are no deprecations associated with this release.
2428

2529
There are no deprecations associated with this release.
2630

31+
## 9.0.5 [elasticsearch-9.0.5-deprecations]
32+
33+
There are no deprecations associated with this release.
34+
2735
## 9.0.4 [elasticsearch-9.0.4-deprecations]
2836

2937
No deprecations in this version.

docs/release-notes/index.md

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

23+
## 9.1.2 [elasticsearch-9.1.2-release-notes]
24+
25+
### Features and enhancements [elasticsearch-9.1.2-features-enhancements]
26+
27+
Authorization:
28+
* Adds `manage`, `create_index`, `read`, `index`, `write`, and `delete` privileges for the `kibana_system` role on third-party agent indices used by ExtraHop (`logs-extrahop.investigation-*`) and Qualys GAV (`logs-qualys_gav.asset-*`). This ensures ILM policies can delete these indices without permission errors. [#132387](https://github.com/elastic/elasticsearch/pull/132387) (issue: [#131825](https://github.com/elastic/elasticsearch/issues/131825))
29+
30+
### Fixes [elasticsearch-9.1.2-fixes]
31+
32+
Aggregations:
33+
:::{dropdown} Validates parent aggregation type in `bucket_script`
34+
The `bucket_script` pipeline aggregation didn’t validate that its parent aggregation was a multi-bucket aggregation.
35+
This caused a `ClassCastException` at runtime when the parent was not multi-bucket.
36+
[#132320](https://github.com/elastic/elasticsearch/pull/132320) adds a validation step so the aggregation fails early, preventing the runtime error. (issue: [#132272](https://github.com/elastic/elasticsearch/issues/132272))
37+
:::
38+
39+
Codec:
40+
:::{dropdown} Uses local segment `fieldInfos` for TSDB merge stats
41+
Merging shrink TSDB or LogsDB indices in versions 8.19 or 9.1+ could fail when using `addIndexes` to combine Lucene segments directly.
42+
In these cases, the `fieldInfos` value could differ between shards and the merged segment, causing incorrect merge statistics.
43+
PR [#132597](https://github.com/elastic/elasticsearch/pull/132597) updates the process to use `fieldInfos` from each segment instead of the merged segment, ensuring accurate stats and preventing merge failures.
44+
:::
45+
46+
ES|QL:
47+
:::{dropdown} Fixes for `COPY_SIGN` function in ESQL
48+
The `COPY_SIGN` function has been updated to better support the literal `NULL` in parameters.
49+
[#132459](https://github.com/elastic/elasticsearch/pull/132459)
50+
:::
51+
52+
Mapping:
53+
:::{dropdown} Calculates text string length correctly for code points outside BMP
54+
Strings parsed with the optimized UTF-8 parsing path had incorrect length calculations for characters outside the basic multilingual plane (BMP).
55+
These characters require two UTF-16 code units, but the optimized path did not account for this, causing mismatches with the non-optimized path.
56+
[#132593](https://github.com/elastic/elasticsearch/pull/132593) fixes the calculation to ensure consistent and correct string lengths.
57+
:::
58+
59+
Search:
60+
:::{dropdown} Always stops the timer when profiling the fetch phase
61+
Exceptions in fetch sub-phases (for example, `setNextReader`) left the profiling timer running, causing mismatched start/stop calls and errors.
62+
[#132570](https://github.com/elastic/elasticsearch/pull/132570) ensures the `timer.stop()` call always stops.
63+
:::
64+
2365
## 9.1.1 [elasticsearch-9.1.1-release-notes]
2466

2567
### Fixes [elasticsearch-9.1.1-fixes]
@@ -720,6 +762,113 @@ Vector Search:
720762
* Fix filtered knn vector search when query timeouts are enabled [#129440](https://github.com/elastic/elasticsearch/pull/129440)
721763
* Fix top level knn search with scroll [#126035](https://github.com/elastic/elasticsearch/pull/126035)
722764

765+
## 9.0.5 [elasticsearch-9.0.5-release-notes]
766+
767+
### Features and enhancements [elasticsearch-9.0.5-features-enhancements]
768+
769+
Engine:
770+
* The available disk space is now logged when merge tasks are scheduled. If the disk space is below the `indices.merge.disk.watermark.high` threshold, this information is recorded to help diagnose and troubleshoot situations where merges fail due to insufficient disk space. [#131711](https://github.com/elastic/elasticsearch/pull/131711)
771+
772+
### Fixes [elasticsearch-9.0.5-fixes]
773+
774+
Aggregations:
775+
:::{dropdown} Validate parent aggregation type in `bucket_script`
776+
The `bucket_script` pipeline aggregation didn’t validate that its parent aggregation was a multi-bucket aggregation.
777+
This caused a `ClassCastException` at runtime when the parent was not multi-bucket.
778+
[#132320](https://github.com/elastic/elasticsearch/pull/132320) adds a validation step so the aggregation fails early, preventing the runtime error. (issue: [#132272](https://github.com/elastic/elasticsearch/issues/132272))
779+
:::
780+
781+
Data streams:
782+
:::{dropdown} Disables auto-sharding for LOOKUP index mode
783+
Auto-sharding for data streams caused unsupported replica scaling when the index mode was set to `LOOKUP`.
784+
This happened because lookup mappers do not support scaling beyond one replica.
785+
[#131429](https://github.com/elastic/elasticsearch/pull/131429) resolves this issue by disabling auto-sharding for data streams with `LOOKUP` index modes, avoiding unsupported replica settings.
786+
:::
787+
788+
EQL:
789+
:::{dropdown} Resolves EQL parsing failure for IP-mapped fields in `OR` expressions
790+
Parsing EQL queries failed when comparing the same IP-mapped field to multiple values joined by an `OR` expression.
791+
This occurred because lookup operators were internally rewritten into `IN` expressions, which are unsupported for IP-type fields.
792+
[#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))
793+
:::
794+
795+
:::{dropdown} Prevent double invocation of EQL listener
796+
In some cases, the EQL listener could be resolved twice, potentially leading to unexpected behavior.
797+
[#124918](https://github.com/elastic/elasticsearch/pull/124918) updates the control flow to exit early and ensure the listener is only invoked once.
798+
:::
799+
800+
ES|QL:
801+
:::{dropdown} Disallow remote `ENRICH` after `LOOKUP JOIN`
802+
Combining a `LOOKUP JOIN` with remote `ENRICH` could trigger a `ClassCastException` due to pipeline breaker interactions when limits or top-N queries were involved. [#131426](https://github.com/elastic/elasticsearch/pull/131426) adds a validation that forbids remote `ENRICH` after `LOOKUP JOIN`, preventing the runtime error. (issue: [#129372](https://github.com/elastic/elasticsearch/issues/129372))
803+
:::
804+
805+
:::{dropdown} Fix `mv_expand` inconsistent column order
806+
The `mv_expand` command could return columns in a different order depending on query execution paths. Now, the new attribute generated by `mv_expand` preserves the original field positions in the output. [#129745](https://github.com/elastic/elasticsearch/pull/129745) (issue: [#129000](https://github.com/elastic/elasticsearch/issues/129000))
807+
:::
808+
809+
:::{dropdown} Fixes `ConcurrentModificationException` caused by live operator list
810+
A `ConcurrentModificationException` caused test failures in `CrossClusterAsyncEnrichStopIT.testEnrichAfterStop` under certain conditions.
811+
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.
812+
[#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.
813+
(issue: [#131564](https://github.com/elastic/elasticsearch/issues/131564))
814+
:::
815+
816+
Infra/Core:
817+
:::{dropdown} Grants server module read/write permissions for deprecated `path.shared_data` setting
818+
The server module is now granted read/write permissions for the deprecated `path.shared_data` setting.
819+
[#131680](https://github.com/elastic/elasticsearch/pull/131680) resolves issues surfaced in internal testing and ensures compatibility with legacy configurations.
820+
:::
821+
822+
Ingest Node:
823+
:::{dropdown} Correctly handle `download_database_on_pipeline_creation` in default or final pipelines
824+
A bug in the `download_database_on_pipeline_creation` setting caused geoip databases not to download when the geoip processor was referenced from a pipeline processor in a default or final pipeline.
825+
This resulted in documents being tagged with `_geoip_database_unavailable_GeoLite2-City.mmdb` instead of having geo data.
826+
[#131236](https://github.com/elastic/elasticsearch/pull/131236) resolves the issue and ensures geoip databases download correctly in this scenario.
827+
:::
828+
829+
:::{dropdown} Fixes incorrect mapping resolution in simulate ingest API when `mapping_addition` is provided
830+
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.
831+
This caused mismatches between the index and simulation behavior.
832+
[#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.
833+
:::
834+
835+
Machine Learning:
836+
:::{dropdown} Fix memory usage estimation for ELSER models
837+
Using the deployment ID instead of the model ID caused `isElserV1Or2Model` to fail for ELSER models, because deployment IDs don’t start with `.elser_model_2`.
838+
[#131630](https://github.com/elastic/elasticsearch/pull/131630) updates the code to pass the model ID, ensuring memory usage is estimated correctly.
839+
:::
840+
841+
:::{dropdown} Prevents double-counting of allocations in trained model deployment memory estimation
842+
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.
843+
[#131990](https://github.com/elastic/elasticsearch/pull/131990) resolves the issue by reverting the change and restoring accurate memory estimation for trained model deployments.
844+
:::
845+
846+
Mapping:
847+
:::{dropdown} Fixes decoding failure for non-ASCII field names in `_ignored_source`
848+
A decoding error occurred when field names in `_ignored_source` contained non-ASCII characters.
849+
This happened because `String.length()` was used to calculate the byte length of the field name, which only works correctly for ASCII characters.
850+
[#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.
851+
:::
852+
853+
Search:
854+
:::{dropdown} Correct shard status reporting in point-in-time responses
855+
The Open PIT API incorrectly swapped the skipped and failed shard counts when partial search results were allowed. This caused the API to report failed shards as skipped and vice versa. [#131391](https://github.com/elastic/elasticsearch/pull/131391) fixes the field mapping so shard status is reported accurately. (issue: [#131026](https://github.com/elastic/elasticsearch/issues/131026))
856+
:::
857+
858+
:::{dropdown} Fix missing removal of query cancellation callback in QueryPhase
859+
A missing removal of a query cancellation callback caused unintended timeouts or cancellations in later search phases when `allow_partial_search_results` was enabled, which could lead to `ArrayIndexOutOfBoundsException` errors.
860+
[#130279](https://github.com/elastic/elasticsearch/pull/130279) resolves the issue and ensures predictable search execution. (issue: [#130071](https://github.com/elastic/elasticsearch/issues/130071))
861+
:::
862+
863+
:::{dropdown} Preserve `boost` and `queryName` for semantic queries
864+
Query rewrite logic dropped `boost` and `queryName` values for `match`, `knn`, and `sparse_vector` queries on `semantic_text` fields, causing query weighting and naming to be lost. [#129282](https://github.com/elastic/elasticsearch/pull/129282) resolves the issue so these values are now preserved correctly during query rewriting.
865+
:::
866+
867+
Snapshot/Restore:
868+
:::{dropdown} Improve error handling when verifying an empty snapshot repository
869+
870+
Verifying the integrity of a brand-new snapshot repository without any index blobs failed with a low-level error because the repository generation was `-1`, which cannot be sent over the wire. [#131677](https://github.com/elastic/elasticsearch/pull/131677) updates the logic to reject such requests early with a clearer, more helpful error message.
871+
:::
723872

724873
## 9.0.4 [elasticsearch-9.0.4-release-notes]
725874

muted-tests.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -446,6 +446,9 @@ tests:
446446
- class: org.elasticsearch.xpack.remotecluster.CrossClusterEsqlRCS1EnrichUnavailableRemotesIT
447447
method: testEsqlEnrichWithSkipUnavailable
448448
issue: https://github.com/elastic/elasticsearch/issues/132078
449+
- class: org.elasticsearch.test.rest.yaml.RcsCcsCommonYamlTestSuiteIT
450+
method: test {p0=search/600_flattened_ignore_above/flattened ignore_above multi-value field}
451+
issue: https://github.com/elastic/elasticsearch/issues/131967
449452
- class: org.elasticsearch.index.engine.MergeWithLowDiskSpaceIT
450453
method: testRelocationWhileForceMerging
451454
issue: https://github.com/elastic/elasticsearch/issues/131789
@@ -497,12 +500,12 @@ tests:
497500
- class: org.elasticsearch.xpack.sql.action.SqlSearchPageTimeoutIT
498501
method: testSearchContextIsCleanedUpAfterPageTimeoutForAggregationQueries
499502
issue: https://github.com/elastic/elasticsearch/issues/132619
500-
- class: org.elasticsearch.repositories.SnapshotMetricsIT
501-
method: testSnapshotAPMMetrics
502-
issue: https://github.com/elastic/elasticsearch/issues/132672
503503
- class: org.elasticsearch.xpack.ml.integration.TextEmbeddingQueryIT
504504
method: testHybridSearch
505505
issue: https://github.com/elastic/elasticsearch/issues/132703
506+
- class: org.elasticsearch.test.rest.ClientYamlTestSuiteIT
507+
method: test {yaml=indices.simulate_index_template/10_basic/Simulate index template with data stream with mapping and setting overrides}
508+
issue: https://github.com/elastic/elasticsearch/issues/132702
506509

507510
# Examples:
508511
#

0 commit comments

Comments
 (0)