Răsfoiți Sursa

Bump to version 8.17.0

Brian Seeders 11 luni în urmă
părinte
comite
b84e990232

+ 3 - 2
.backportrc.json

@@ -1,9 +1,10 @@
 {
   "upstream" : "elastic/elasticsearch",
-  "targetBranchChoices" : [ "main", "8.15", "8.14", "8.13", "8.12", "8.11", "8.10", "8.9", "8.8", "8.7", "8.6", "8.5", "8.4", "8.3", "8.2", "8.1", "8.0", "7.17", "6.8" ],
+  "targetBranchChoices" : [ "main", "8.x", "8.16", "8.15", "8.14", "8.13", "8.12", "8.11", "8.10", "8.9", "8.8", "8.7", "8.6", "8.5", "8.4", "8.3", "8.2", "8.1", "8.0", "7.17", "6.8" ],
   "targetPRLabels" : [ "backport" ],
   "branchLabelMapping" : {
-    "^v8.16.0$" : "main",
+    "^v9.0.0$" : "main",
+    "^v8.17.0$" : "8.x",
     "^v(\\d+).(\\d+).\\d+(?:-(?:alpha|beta|rc)\\d+)?$" : "$1.$2"
   }
 }

+ 1 - 2
.buildkite/pipelines/intake.yml

@@ -56,7 +56,7 @@ steps:
         timeout_in_minutes: 300
         matrix:
           setup:
-            BWC_VERSION: ["7.17.25", "8.15.3", "8.16.0"]
+            BWC_VERSION: ["7.17.25", "8.15.3", "8.16.0", "8.17.0"]
         agents:
           provider: gcp
           image: family/elasticsearch-ubuntu-2004
@@ -76,7 +76,6 @@ steps:
   - trigger: elasticsearch-dra-workflow
     label: Trigger DRA snapshot workflow
     async: true
-    branches: "main 8.* 7.17"
     build:
       branch: "$BUILDKITE_BRANCH"
       commit: "$BUILDKITE_COMMIT"

+ 16 - 0
.buildkite/pipelines/periodic-packaging.yml

@@ -591,6 +591,22 @@ steps:
         env:
           BWC_VERSION: 8.16.0
 
+      - label: "{{matrix.image}} / 8.17.0 / packaging-tests-upgrade"
+        command: ./.ci/scripts/packaging-test.sh -Dbwc.checkout.align=true destructiveDistroUpgradeTest.v8.17.0
+        timeout_in_minutes: 300
+        matrix:
+          setup:
+            image:
+              - rocky-8
+              - ubuntu-2004
+        agents:
+          provider: gcp
+          image: family/elasticsearch-{{matrix.image}}
+          machineType: custom-16-32768
+          buildDirectory: /dev/shm/bk
+        env:
+          BWC_VERSION: 8.17.0
+
   - group: packaging-tests-windows
     steps:
       - label: "{{matrix.image}} / packaging-tests-windows"

+ 21 - 2
.buildkite/pipelines/periodic.yml

@@ -667,6 +667,25 @@ steps:
             - signal_reason: agent_stop
               limit: 3
 
+      - label: 8.17.0 / bwc
+        command: .ci/scripts/run-gradle.sh -Dbwc.checkout.align=true v8.17.0#bwcTest
+        timeout_in_minutes: 300
+        agents:
+          provider: gcp
+          image: family/elasticsearch-ubuntu-2004
+          machineType: n1-standard-32
+          buildDirectory: /dev/shm/bk
+          preemptible: true
+        env:
+          BWC_VERSION: 8.17.0
+        retry:
+          automatic:
+            - exit_status: "-1"
+              limit: 3
+              signal_reason: none
+            - signal_reason: agent_stop
+              limit: 3
+
   - label: concurrent-search-tests
     command: .ci/scripts/run-gradle.sh -Dbwc.checkout.align=true -Dtests.jvm.argline=-Des.concurrent_search=true -Des.concurrent_search=true functionalTests
     timeout_in_minutes: 420
@@ -733,7 +752,7 @@ steps:
           setup:
             ES_RUNTIME_JAVA:
               - openjdk17
-            BWC_VERSION: ["7.17.25", "8.15.3", "8.16.0"]
+            BWC_VERSION: ["7.17.25", "8.15.3", "8.16.0", "8.17.0"]
         agents:
           provider: gcp
           image: family/elasticsearch-ubuntu-2004
@@ -781,7 +800,7 @@ steps:
               - openjdk21
               - openjdk22
               - openjdk23
-            BWC_VERSION: ["7.17.25", "8.15.3", "8.16.0"]
+            BWC_VERSION: ["7.17.25", "8.15.3", "8.16.0", "8.17.0"]
         agents:
           provider: gcp
           image: family/elasticsearch-ubuntu-2004

+ 1 - 0
.ci/bwcVersions

@@ -34,3 +34,4 @@ BWC_VERSION:
   - "8.14.3"
   - "8.15.3"
   - "8.16.0"
+  - "8.17.0"

+ 1 - 0
.ci/snapshotBwcVersions

@@ -2,3 +2,4 @@ BWC_VERSION:
   - "7.17.25"
   - "8.15.3"
   - "8.16.0"
+  - "8.17.0"

+ 1 - 1
build-tools-internal/version.properties

@@ -1,4 +1,4 @@
-elasticsearch     = 8.16.0
+elasticsearch     = 8.17.0
 lucene            = 9.12.0
 
 bundled_jdk_vendor = openjdk

+ 2 - 0
docs/reference/migration/index.asciidoc

@@ -1,5 +1,6 @@
 include::migration_intro.asciidoc[]
 
+* <<migrating-8.17,Migrating to 8.17>>
 * <<migrating-8.16,Migrating to 8.16>>
 * <<migrating-8.15,Migrating to 8.15>>
 * <<migrating-8.14,Migrating to 8.14>>
@@ -18,6 +19,7 @@ include::migration_intro.asciidoc[]
 * <<migrating-8.1,Migrating to 8.1>>
 * <<migrating-8.0,Migrating to 8.0>>
 
+include::migrate_8_17.asciidoc[]
 include::migrate_8_16.asciidoc[]
 include::migrate_8_15.asciidoc[]
 include::migrate_8_14.asciidoc[]

+ 20 - 0
docs/reference/migration/migrate_8_17.asciidoc

@@ -0,0 +1,20 @@
+[[migrating-8.17]]
+== Migrating to 8.17
+++++
+<titleabbrev>8.17</titleabbrev>
+++++
+
+This section discusses the changes that you need to be aware of when migrating
+your application to {es} 8.17.
+
+See also <<release-highlights>> and <<es-release-notes>>.
+
+coming::[8.17.0]
+
+
+[discrete]
+[[breaking-changes-8.17]]
+=== Breaking changes
+
+There are no breaking changes in {es} 8.17.
+

+ 2 - 0
docs/reference/release-notes.asciidoc

@@ -6,6 +6,7 @@
 
 This section summarizes the changes in each release.
 
+* <<release-notes-8.17.0>>
 * <<release-notes-8.16.0>>
 * <<release-notes-8.15.2>>
 * <<release-notes-8.15.1>>
@@ -73,6 +74,7 @@ This section summarizes the changes in each release.
 
 --
 
+include::release-notes/8.17.0.asciidoc[]
 include::release-notes/8.16.0.asciidoc[]
 include::release-notes/8.15.2.asciidoc[]
 include::release-notes/8.15.1.asciidoc[]

+ 8 - 0
docs/reference/release-notes/8.17.0.asciidoc

@@ -0,0 +1,8 @@
+[[release-notes-8.17.0]]
+== {es} version 8.17.0
+
+coming[8.17.0]
+
+Also see <<breaking-changes-8.17,Breaking changes in 8.17>>.
+
+

+ 8 - 98
docs/reference/release-notes/highlights.asciidoc

@@ -11,7 +11,8 @@ For detailed information about this release, see the <<es-release-notes>> and
 // Add previous release to the list
 Other versions:
 
-{ref-bare}/8.15/release-highlights.html[8.15]
+{ref-bare}/8.16/release-highlights.html[8.16]
+| {ref-bare}/8.15/release-highlights.html[8.15]
 | {ref-bare}/8.14/release-highlights.html[8.14]
 | {ref-bare}/8.13/release-highlights.html[8.13]
 | {ref-bare}/8.12/release-highlights.html[8.12]
@@ -30,104 +31,13 @@ Other versions:
 
 endif::[]
 
+// The notable-highlights tag marks entries that
+// should be featured in the Stack Installation and Upgrade Guide:
 // tag::notable-highlights[]
-
-[discrete]
-[[esql_inlinestats]]
-=== ESQL: INLINESTATS
-This adds the `INLINESTATS` command to ESQL which performs a STATS and
-then enriches the results into the output stream. So, this query:
-
-[source,esql]
-----
-FROM test
-| INLINESTATS m=MAX(a * b) BY b
-| WHERE m == a * b
-| SORT a DESC, b DESC
-| LIMIT 3
-----
-
-Produces output like:
-
-|  a  |  b  |   m   |
-| --- | --- | ----- |
-|  99 | 999 | 98901 |
-|  99 | 998 | 98802 |
-|  99 | 997 | 98703 |
-
-{es-pull}109583[#109583]
-
-[discrete]
-[[always_allow_rebalancing_by_default]]
-=== Always allow rebalancing by default
-In earlier versions of {es} the `cluster.routing.allocation.allow_rebalance` setting defaults to
-`indices_all_active` which blocks all rebalancing moves while the cluster is in `yellow` or `red` health. This was
-appropriate for the legacy allocator which might do too many rebalancing moves otherwise. Today's allocator has
-better support for rebalancing a cluster that is not in `green` health, and expects to be able to rebalance some
-shards away from over-full nodes to avoid allocating shards to undesirable locations in the first place. From
-version 8.16 `allow_rebalance` setting defaults to `always` unless the legacy allocator is explicitly enabled.
-
-{es-pull}111015[#111015]
-
-[discrete]
-[[add_global_retention_in_data_stream_lifecycle]]
-=== Add global retention in data stream lifecycle
-Data stream lifecycle now supports configuring retention on a cluster level,
-namely global retention. Global retention \nallows us to configure two different
-retentions:
-
-- `data_streams.lifecycle.retention.default` is applied to all data streams managed
-by the data stream lifecycle that do not have retention defined on the data stream level.
-- `data_streams.lifecycle.retention.max` is applied to all data streams managed by the
-data stream lifecycle and it allows any data stream \ndata to be deleted after the `max_retention` has passed.
-
-{es-pull}111972[#111972]
-
-[discrete]
-[[enable_zstandard_compression_for_indices_with_index_codec_set_to_best_compression]]
-=== Enable ZStandard compression for indices with index.codec set to best_compression
-Before DEFLATE compression was used to compress stored fields in indices with index.codec index setting set to
-best_compression, with this change ZStandard is used as compression algorithm to stored fields for indices with
-index.codec index setting set to best_compression. The usage ZStandard results in less storage usage with a
-similar indexing throughput depending on what options are used. Experiments with indexing logs have shown that
-ZStandard offers ~12% lower storage usage and a ~14% higher indexing throughput compared to DEFLATE.
-
-{es-pull}112665[#112665]
-
-[discrete]
-[[8_x_remove_zstd_feature_flag_for_index_codec_best_compression]]
-=== [8.x] Remove zstd feature flag for index codec best compression
-Backports the following commits to 8.x:  - Remove zstd feature flag for
-index codec best compression. (#112665)
-
-{es-pull}112857[#112857]
-
+// [discrete]
+// === Heading
+//
+// Description.
 // end::notable-highlights[]
 
 
-[discrete]
-[[esql_multi_value_fields_supported_in_geospatial_predicates]]
-=== ESQL: Multi-value fields supported in Geospatial predicates
-Supporting multi-value fields in `WHERE` predicates is a challenge due to not knowing whether `ALL` or `ANY`
-of the values in the field should pass the predicate.
-For example, should the field `age:[10,30]` pass the predicate `WHERE age>20` or not?
-This ambiguity does not exist with the spatial predicates
-`ST_INTERSECTS` and `ST_DISJOINT`, because the choice between `ANY` or `ALL`
-is implied by the predicate itself.
-Consider a predicate checking a field named `location` against a test geometry named `shape`:
-
-* `ST_INTERSECTS(field, shape)` - true if `ANY` value can intersect the shape
-* `ST_DISJOINT(field, shape)` - true only if `ALL` values are disjoint from the shape
-
-This works even if the shape argument is itself a complex or compound geometry.
-
-Similar logic exists for `ST_CONTAINS` and `ST_WITHIN` predicates, but these are not as easily solved
-with `ANY` or `ALL`, because a collection of geometries contains another collection if each of the contained
-geometries is within at least one of the containing geometries. Evaluating this requires that the multi-value
-field is first combined into a single geometry before performing the predicate check.
-
-* `ST_CONTAINS(field, shape)` - true if the combined geometry contains the shape
-* `ST_WITHIN(field, shape)` - true if the combined geometry is within the shape
-
-{es-pull}112063[#112063]
-

+ 2 - 1
server/src/main/java/org/elasticsearch/Version.java

@@ -187,7 +187,8 @@ public class Version implements VersionId<Version>, ToXContentFragment {
     public static final Version V_8_15_2 = new Version(8_15_02_99);
     public static final Version V_8_15_3 = new Version(8_15_03_99);
     public static final Version V_8_16_0 = new Version(8_16_00_99);
-    public static final Version CURRENT = V_8_16_0;
+    public static final Version V_8_17_0 = new Version(8_17_00_99);
+    public static final Version CURRENT = V_8_17_0;
 
     private static final NavigableMap<Integer, Version> VERSION_IDS;
     private static final Map<String, Version> VERSION_STRINGS;