Browse Source

Upgrade Lucene to version 9.4.2. (#91823)

Most interestingly, this includes a fix for KNN vectors: apache/lucene#11905.
Adrien Grand 2 years ago
parent
commit
84b940c3f4

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

@@ -1,5 +1,5 @@
 elasticsearch     = 8.7.0
-lucene            = 9.4.1
+lucene            = 9.4.2
 
 bundled_jdk_vendor = openjdk
 bundled_jdk = 19.0.1+10@afdd2e245b014143b62ccb916125e3ce

+ 2 - 2
build.gradle

@@ -137,9 +137,9 @@ tasks.register("verifyVersions") {
  * after the backport of the backcompat code is complete.
  */
 
-boolean bwc_tests_enabled = true
+boolean bwc_tests_enabled = false
 // place a PR link here when committing bwc changes:
-String bwc_tests_disabled_issue = ""
+String bwc_tests_disabled_issue = "https://github.com/elastic/elasticsearch/pull/91823"
 if (bwc_tests_enabled == false) {
   if (bwc_tests_disabled_issue.isEmpty()) {
     throw new GradleException("bwc_tests_disabled_issue must be set when bwc_tests_enabled == false")

+ 2 - 2
docs/Versions.asciidoc

@@ -1,8 +1,8 @@
 
 include::{docs-root}/shared/versions/stack/{source_branch}.asciidoc[]
 
-:lucene_version:        9.4.1
-:lucene_version_path:   9_4_1
+:lucene_version:        9.4.2
+:lucene_version_path:   9_4_2
 :jdk:                   11.0.2
 :jdk_major:             11
 :build_type:            tar

+ 5 - 0
docs/changelog/91823.yaml

@@ -0,0 +1,5 @@
+pr: 91823
+summary: Upgrade Lucene to version 9.4.2
+area: Engine
+type: upgrade
+issues: []

+ 120 - 0
gradle/verification-metadata.xml

@@ -2521,121 +2521,241 @@
             <sha256 value="22b845d28c39e5fa3478db276ac0a75e6285ea00d30a938146686bfa75f44b8f" origin="Generated by Gradle"/>
          </artifact>
       </component>
+      <component group="org.apache.lucene" name="lucene-analysis-common" version="9.4.2">
+         <artifact name="lucene-analysis-common-9.4.2.jar">
+            <sha256 value="cafa2c66ac81894c860e2213c6ba71d4c5a3ae6a26be698318e7de88efdd4db5" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
       <component group="org.apache.lucene" name="lucene-analysis-icu" version="9.4.1">
          <artifact name="lucene-analysis-icu-9.4.1.jar">
             <sha256 value="a5f35d7294ef475e9e3145e0a191551f5841da738212c4923b0a403a027db200" origin="Generated by Gradle"/>
          </artifact>
       </component>
+      <component group="org.apache.lucene" name="lucene-analysis-icu" version="9.4.2">
+         <artifact name="lucene-analysis-icu-9.4.2.jar">
+            <sha256 value="6fc669da198bea83f2c0616a4eb765f30b7dcb729725aa098528151bb36be9d6" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
       <component group="org.apache.lucene" name="lucene-analysis-kuromoji" version="9.4.1">
          <artifact name="lucene-analysis-kuromoji-9.4.1.jar">
             <sha256 value="daaf3c6939a9b234682d45102b8c26872f0b2d33631feefb4795a54a6dddc75a" origin="Generated by Gradle"/>
          </artifact>
       </component>
+      <component group="org.apache.lucene" name="lucene-analysis-kuromoji" version="9.4.2">
+         <artifact name="lucene-analysis-kuromoji-9.4.2.jar">
+            <sha256 value="13928e760951491b66e1b37f3396a0ee4b150f02a4cbe57743b68dbd0d09ab61" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
       <component group="org.apache.lucene" name="lucene-analysis-morfologik" version="9.4.1">
          <artifact name="lucene-analysis-morfologik-9.4.1.jar">
             <sha256 value="55cc0c58ef51d62ad0db64d130bbf163ec2bb9431acb898446e9039165c97f5b" origin="Generated by Gradle"/>
          </artifact>
       </component>
+      <component group="org.apache.lucene" name="lucene-analysis-morfologik" version="9.4.2">
+         <artifact name="lucene-analysis-morfologik-9.4.2.jar">
+            <sha256 value="2835fb73f8d58ded27e9201a8d9546e0bdc5d028f5ae5f112f6f74cf71a291ee" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
       <component group="org.apache.lucene" name="lucene-analysis-nori" version="9.4.1">
          <artifact name="lucene-analysis-nori-9.4.1.jar">
             <sha256 value="f3e3119787e002606181078e2d2d28715ea80222dd82d5f34013ab11a097e786" origin="Generated by Gradle"/>
          </artifact>
       </component>
+      <component group="org.apache.lucene" name="lucene-analysis-nori" version="9.4.2">
+         <artifact name="lucene-analysis-nori-9.4.2.jar">
+            <sha256 value="316776f69a9e493c36c9a1b9b18b1f10de3914a45537e7f324784ab11d748267" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
       <component group="org.apache.lucene" name="lucene-analysis-phonetic" version="9.4.1">
          <artifact name="lucene-analysis-phonetic-9.4.1.jar">
             <sha256 value="57b21cf3c13a128d5817c369b43bb843a332ada8569bee99300b2439024daf1a" origin="Generated by Gradle"/>
          </artifact>
       </component>
+      <component group="org.apache.lucene" name="lucene-analysis-phonetic" version="9.4.2">
+         <artifact name="lucene-analysis-phonetic-9.4.2.jar">
+            <sha256 value="30c2af3312daae2facbc43c49e4635b8f6426641d2870f7c1750ba2496c889fe" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
       <component group="org.apache.lucene" name="lucene-analysis-smartcn" version="9.4.1">
          <artifact name="lucene-analysis-smartcn-9.4.1.jar">
             <sha256 value="ff65b08a942c4e9b4050f4d4a697cb550fe04e12464af14869c09f02fc75bab5" origin="Generated by Gradle"/>
          </artifact>
       </component>
+      <component group="org.apache.lucene" name="lucene-analysis-smartcn" version="9.4.2">
+         <artifact name="lucene-analysis-smartcn-9.4.2.jar">
+            <sha256 value="ac101ee6815499d04a29693f089b141a2dd207a063e47968475bd829caa9bcf2" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
       <component group="org.apache.lucene" name="lucene-analysis-stempel" version="9.4.1">
          <artifact name="lucene-analysis-stempel-9.4.1.jar">
             <sha256 value="d32007019f35bef2f0ff47b192f4d2faac457bafa448336c905e0c1433e929e7" origin="Generated by Gradle"/>
          </artifact>
       </component>
+      <component group="org.apache.lucene" name="lucene-analysis-stempel" version="9.4.2">
+         <artifact name="lucene-analysis-stempel-9.4.2.jar">
+            <sha256 value="7b8848fa29b4506f87e03c86699feb243cd258fe3ce92f0db8201417689e530a" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
       <component group="org.apache.lucene" name="lucene-backward-codecs" version="9.4.1">
          <artifact name="lucene-backward-codecs-9.4.1.jar">
             <sha256 value="abdbf830fae812b27ddc98d8287e60582c8f9cffd8292a064f1f9aa8ab5e0ff0" origin="Generated by Gradle"/>
          </artifact>
       </component>
+      <component group="org.apache.lucene" name="lucene-backward-codecs" version="9.4.2">
+         <artifact name="lucene-backward-codecs-9.4.2.jar">
+            <sha256 value="8a6dc9181693d61b25ddb057cec31abdb4d6573b12b4a096b9b5739093a45c91" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
       <component group="org.apache.lucene" name="lucene-codecs" version="9.4.1">
          <artifact name="lucene-codecs-9.4.1.jar">
             <sha256 value="e69bcce29b43e9e09c85eb9e8a17128aa90a631c8a1b014b4efc7b8487222f4e" origin="Generated by Gradle"/>
          </artifact>
       </component>
+      <component group="org.apache.lucene" name="lucene-codecs" version="9.4.2">
+         <artifact name="lucene-codecs-9.4.2.jar">
+            <sha256 value="a8bdb8e14bb6813837e5db84b4d163cd5bc6761bb370d5e6ade28561522eb587" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
       <component group="org.apache.lucene" name="lucene-core" version="9.4.1">
          <artifact name="lucene-core-9.4.1.jar">
             <sha256 value="992f847526c953f734a18295901b6fbb8977a1d99275e01ed219e7e57cc0ae34" origin="Generated by Gradle"/>
          </artifact>
       </component>
+      <component group="org.apache.lucene" name="lucene-core" version="9.4.2">
+         <artifact name="lucene-core-9.4.2.jar">
+            <sha256 value="fd6db1bfe92c51439332230c1e95d2ac63633a9c3067d0355985594ff415431a" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
       <component group="org.apache.lucene" name="lucene-expressions" version="9.4.1">
          <artifact name="lucene-expressions-9.4.1.jar">
             <sha256 value="b037fbd8131443cf8a2f35f9c07eb68bf4d95cab01be67733a9225e7629a94e7" origin="Generated by Gradle"/>
          </artifact>
       </component>
+      <component group="org.apache.lucene" name="lucene-expressions" version="9.4.2">
+         <artifact name="lucene-expressions-9.4.2.jar">
+            <sha256 value="ed0366731de0a57c77e34113df8ea34c365f93d1e60556ec20dc253a10f516f5" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
       <component group="org.apache.lucene" name="lucene-grouping" version="9.4.1">
          <artifact name="lucene-grouping-9.4.1.jar">
             <sha256 value="dd88245285b240246280a4f922780a68831ed79df40a4884650d17902a33e361" origin="Generated by Gradle"/>
          </artifact>
       </component>
+      <component group="org.apache.lucene" name="lucene-grouping" version="9.4.2">
+         <artifact name="lucene-grouping-9.4.2.jar">
+            <sha256 value="0312ba56249fb252ae8842fd148bc231bf4f3c20569a66f92105f1739815381d" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
       <component group="org.apache.lucene" name="lucene-highlighter" version="9.4.1">
          <artifact name="lucene-highlighter-9.4.1.jar">
             <sha256 value="241af5dd27834d0a37e9ab2ef235aa125ca680181a78c51248511ee80c053240" origin="Generated by Gradle"/>
          </artifact>
       </component>
+      <component group="org.apache.lucene" name="lucene-highlighter" version="9.4.2">
+         <artifact name="lucene-highlighter-9.4.2.jar">
+            <sha256 value="8512892073eb1c5f13a3fb1bf1b245cd66aeb1b45f7acfb47a83968a4141318d" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
       <component group="org.apache.lucene" name="lucene-join" version="9.4.1">
          <artifact name="lucene-join-9.4.1.jar">
             <sha256 value="1dfd06b72ce8ac45e1747a1781bf7f75681de366e17e88756c171e506f0719bb" origin="Generated by Gradle"/>
          </artifact>
       </component>
+      <component group="org.apache.lucene" name="lucene-join" version="9.4.2">
+         <artifact name="lucene-join-9.4.2.jar">
+            <sha256 value="ae04eaa43bde57407a19aa9ab86038b8ee3b0d5c9d9333ecf63d283c306e6b0e" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
       <component group="org.apache.lucene" name="lucene-memory" version="9.4.1">
          <artifact name="lucene-memory-9.4.1.jar">
             <sha256 value="2426d5a2475c9163dcc28b2e6f2624381abc2b83ede3f6140ab3833724ac60e6" origin="Generated by Gradle"/>
          </artifact>
       </component>
+      <component group="org.apache.lucene" name="lucene-memory" version="9.4.2">
+         <artifact name="lucene-memory-9.4.2.jar">
+            <sha256 value="a0c9dee125bed499005893dcd9737a02b3aebe3cfa01ce6eb8d28a4e3b5dc5d4" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
       <component group="org.apache.lucene" name="lucene-misc" version="9.4.1">
          <artifact name="lucene-misc-9.4.1.jar">
             <sha256 value="de8335139c1622234fc3c0d4973fcee9a7a7d53b26bc1b9ac72c3ba2c2f59b58" origin="Generated by Gradle"/>
          </artifact>
       </component>
+      <component group="org.apache.lucene" name="lucene-misc" version="9.4.2">
+         <artifact name="lucene-misc-9.4.2.jar">
+            <sha256 value="c3a3f2a487cf62bad685527f9ace8d4728aa173ab56054c328e6e397584e1992" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
       <component group="org.apache.lucene" name="lucene-queries" version="9.4.1">
          <artifact name="lucene-queries-9.4.1.jar">
             <sha256 value="0fce03ae6070868fb7369763ea4a29aecdcc13c6342c7fc94c90d3ae29860a40" origin="Generated by Gradle"/>
          </artifact>
       </component>
+      <component group="org.apache.lucene" name="lucene-queries" version="9.4.2">
+         <artifact name="lucene-queries-9.4.2.jar">
+            <sha256 value="1924525c4c706706baecbac7f9c0e434630b9ce595e55ae6aa63ca6d465fb453" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
       <component group="org.apache.lucene" name="lucene-queryparser" version="9.4.1">
          <artifact name="lucene-queryparser-9.4.1.jar">
             <sha256 value="c7bf66dea0ae9e7dc840347fd7eaefa9250a91f018bc2503888afed08010adea" origin="Generated by Gradle"/>
          </artifact>
       </component>
+      <component group="org.apache.lucene" name="lucene-queryparser" version="9.4.2">
+         <artifact name="lucene-queryparser-9.4.2.jar">
+            <sha256 value="dfc681a69bc60dd89e6bbf964a9b310b11e96de212da8597309b7caeb1cf591d" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
       <component group="org.apache.lucene" name="lucene-sandbox" version="9.4.1">
          <artifact name="lucene-sandbox-9.4.1.jar">
             <sha256 value="ddc756a446986101ab17ac15aedfeb14588832afff38b86c07a13cd93e6e4890" origin="Generated by Gradle"/>
          </artifact>
       </component>
+      <component group="org.apache.lucene" name="lucene-sandbox" version="9.4.2">
+         <artifact name="lucene-sandbox-9.4.2.jar">
+            <sha256 value="c381fe2797766d91b663a7cbee60e952a1c81dc37551445086f48f0dc5d47216" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
       <component group="org.apache.lucene" name="lucene-spatial-extras" version="9.4.1">
          <artifact name="lucene-spatial-extras-9.4.1.jar">
             <sha256 value="2fe68c8a9141af9f7a7862b576c88b74ad4509f5a2427cb423463d4233e76d4c" origin="Generated by Gradle"/>
          </artifact>
       </component>
+      <component group="org.apache.lucene" name="lucene-spatial-extras" version="9.4.2">
+         <artifact name="lucene-spatial-extras-9.4.2.jar">
+            <sha256 value="c13713f828a03d47d3634e59abc7a53df13c23531d1b6b70c72d190ff64c5cd4" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
       <component group="org.apache.lucene" name="lucene-spatial3d" version="9.4.1">
          <artifact name="lucene-spatial3d-9.4.1.jar">
             <sha256 value="5911614baa3f6e75ee55d0ad63aa16286887766b2fda0654507ce6412d16353b" origin="Generated by Gradle"/>
          </artifact>
       </component>
+      <component group="org.apache.lucene" name="lucene-spatial3d" version="9.4.2">
+         <artifact name="lucene-spatial3d-9.4.2.jar">
+            <sha256 value="c9688a9ab51d5a827260892de6435595a0d524ff9426288af806eb595a000dbb" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
       <component group="org.apache.lucene" name="lucene-suggest" version="9.4.1">
          <artifact name="lucene-suggest-9.4.1.jar">
             <sha256 value="0bd1662bfaa60d6cba12e69b74f90e162900ed077320fe37fbf9e8f5cd78e59f" origin="Generated by Gradle"/>
          </artifact>
       </component>
+      <component group="org.apache.lucene" name="lucene-suggest" version="9.4.2">
+         <artifact name="lucene-suggest-9.4.2.jar">
+            <sha256 value="0d56f92c5414149562ea50c6863ac50fcbbb51239d4a72c2bafbe852fb7e0a27" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
       <component group="org.apache.lucene" name="lucene-test-framework" version="9.4.1">
          <artifact name="lucene-test-framework-9.4.1.jar">
             <sha256 value="63850af6b753e0802cba7697db7821727b9b2e23eef11177c1ddbfb37ef3eaf2" origin="Generated by Gradle"/>
          </artifact>
       </component>
+      <component group="org.apache.lucene" name="lucene-test-framework" version="9.4.2">
+         <artifact name="lucene-test-framework-9.4.2.jar">
+            <sha256 value="be318e426e3ce93d704fff41abc8ccd09bb1def69a40615ecc549c21895dd79d" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
       <component group="org.apache.maven" name="maven-model" version="3.6.2">
          <artifact name="maven-model-3.6.2.jar">
             <sha256 value="f4ada31d7217efc11d2264dec3716623cefa3440cfb2b6b1dcc640a825159a7d" origin="Generated by Gradle"/>

+ 3 - 3
server/src/main/java/org/elasticsearch/Version.java

@@ -126,9 +126,9 @@ public class Version implements Comparable<Version>, ToXContentFragment {
     public static final Version V_8_5_0 = new Version(8_05_00_99, org.apache.lucene.util.Version.LUCENE_9_4_1);
     public static final Version V_8_5_1 = new Version(8_05_01_99, org.apache.lucene.util.Version.LUCENE_9_4_1);
     public static final Version V_8_5_2 = new Version(8_05_02_99, org.apache.lucene.util.Version.LUCENE_9_4_1);
-    public static final Version V_8_5_3 = new Version(8_05_03_99, org.apache.lucene.util.Version.LUCENE_9_4_1);
-    public static final Version V_8_6_0 = new Version(8_06_00_99, org.apache.lucene.util.Version.LUCENE_9_4_1);
-    public static final Version V_8_7_0 = new Version(8_07_00_99, org.apache.lucene.util.Version.LUCENE_9_4_1);
+    public static final Version V_8_5_3 = new Version(8_05_03_99, org.apache.lucene.util.Version.LUCENE_9_4_2);
+    public static final Version V_8_6_0 = new Version(8_06_00_99, org.apache.lucene.util.Version.LUCENE_9_4_2);
+    public static final Version V_8_7_0 = new Version(8_07_00_99, org.apache.lucene.util.Version.LUCENE_9_4_2);
     public static final Version CURRENT = V_8_7_0;
 
     private static final Map<Integer, Version> idToVersion;