Skip to content

Commit ed486ad

Browse files
authored
SQL: Update branch to include the fields API master changes (#68831)
Merge remote-tracking branch 'upstream/master' into feat/fields_api_update branch on bpintea/elasticsearch.
1 parent 0d40d65 commit ed486ad

File tree

140 files changed

+3190
-1860
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

140 files changed

+3190
-1860
lines changed

.ci/bwcVersions

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ BWC_VERSION:
2828
- "7.10.0"
2929
- "7.10.1"
3030
- "7.10.2"
31-
- "7.10.3"
3231
- "7.11.0"
32+
- "7.11.1"
3333
- "7.12.0"
3434
- "8.0.0"

buildSrc/src/integTest/groovy/org/elasticsearch/gradle/DistributionDownloadPluginFuncTest.groovy

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,19 +51,19 @@ class DistributionDownloadPluginFuncTest extends AbstractGradleFuncTest {
5151
when:
5252
def guh = new File(testProjectDir.getRoot(), "gradle-user-home").absolutePath;
5353
def runner = gradleRunner('clean', 'setupDistro', '-i', '-g', guh)
54+
def unpackingMessage = "Unpacking elasticsearch-${version}-linux-${Architecture.current().classifier}.tar.gz " +
55+
"using SymbolicLinkPreservingUntarTransform"
5456
def result = withMockedDistributionDownload(version, platform, runner) {
5557
// initial run
5658
def firstRun = build()
57-
assertOutputContains(firstRun.output, "Unpacking elasticsearch-${version}-linux-x86_64.tar.gz " +
58-
"using SymbolicLinkPreservingUntarTransform")
59+
assertOutputContains(firstRun.output, unpackingMessage)
5960
// 2nd invocation
6061
build()
6162
}
6263

6364
then:
6465
result.task(":setupDistro").outcome == TaskOutcome.SUCCESS
65-
assertOutputMissing(result.output, "Unpacking elasticsearch-${version}-linux-x86_64.tar.gz " +
66-
"using SymbolicLinkPreservingUntarTransform")
66+
assertOutputMissing(result.output, unpackingMessage)
6767
}
6868

6969
def "transforms are reused across projects"() {
@@ -100,7 +100,7 @@ class DistributionDownloadPluginFuncTest extends AbstractGradleFuncTest {
100100

101101
then:
102102
result.tasks.size() == 3
103-
result.output.count("Unpacking elasticsearch-${version}-linux-x86_64.tar.gz " +
103+
result.output.count("Unpacking elasticsearch-${version}-linux-${Architecture.current().classifier}.tar.gz " +
104104
"using SymbolicLinkPreservingUntarTransform") == 1
105105
}
106106

buildSrc/src/integTest/groovy/org/elasticsearch/gradle/JdkDownloadPluginFuncTest.groovy

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,16 @@ class JdkDownloadPluginFuncTest extends AbstractGradleFuncTest {
2929

3030
private static final String OPENJDK_VERSION_OLD = "1+99"
3131
private static final String ADOPT_JDK_VERSION = "12.0.2+10"
32+
private static final String ADOPT_JDK_VERSION_11 = "11.0.10+9"
33+
private static final String ADOPT_JDK_VERSION_15 = "15.0.2+7"
3234
private static final String OPEN_JDK_VERSION = "12.0.1+99@123456789123456789123456789abcde"
3335
private static final String AZUL_AARCH_VERSION = "15.0.1+99@123456789123456789123456789abcde"
3436
private static final Pattern JDK_HOME_LOGLINE = Pattern.compile("JDK HOME: (.*)");
3537

3638
@Unroll
3739
def "jdk #jdkVendor for #platform#suffix are downloaded and extracted"() {
3840
given:
39-
def mockRepoUrl = urlPath(jdkVendor, jdkVersion, platform);
41+
def mockRepoUrl = urlPath(jdkVendor, jdkVersion, platform, arch);
4042
def mockedContent = filebytes(jdkVendor, platform)
4143
buildFile.text = """
4244
plugins {
@@ -70,20 +72,22 @@ class JdkDownloadPluginFuncTest extends AbstractGradleFuncTest {
7072
assertExtraction(result.output, expectedJavaBin);
7173

7274
where:
73-
platform | arch | jdkVendor | jdkVersion | expectedJavaBin | suffix
74-
"linux" | "x64" | VENDOR_ADOPTOPENJDK | ADOPT_JDK_VERSION | "bin/java" | ""
75-
"linux" | "x64" | VENDOR_OPENJDK | OPEN_JDK_VERSION | "bin/java" | ""
76-
"linux" | "x64" | VENDOR_OPENJDK | OPENJDK_VERSION_OLD | "bin/java" | "(old version)"
77-
"windows" | "x64" | VENDOR_ADOPTOPENJDK | ADOPT_JDK_VERSION | "bin/java" | ""
78-
"windows" | "x64" | VENDOR_OPENJDK | OPEN_JDK_VERSION | "bin/java" | ""
79-
"windows" | "x64" | VENDOR_OPENJDK | OPENJDK_VERSION_OLD | "bin/java" | "(old version)"
80-
"darwin" | "x64" | VENDOR_ADOPTOPENJDK | ADOPT_JDK_VERSION | "Contents/Home/bin/java" | ""
81-
"darwin" | "x64" | VENDOR_OPENJDK | OPEN_JDK_VERSION | "Contents/Home/bin/java" | ""
82-
"darwin" | "x64" | VENDOR_OPENJDK | OPENJDK_VERSION_OLD | "Contents/Home/bin/java" | "(old version)"
83-
"mac" | "x64" | VENDOR_OPENJDK | OPEN_JDK_VERSION | "Contents/Home/bin/java" | ""
84-
"mac" | "x64" | VENDOR_OPENJDK | OPENJDK_VERSION_OLD | "Contents/Home/bin/java" | "(old version)"
85-
"darwin" | "aarch64" | VENDOR_AZUL | AZUL_AARCH_VERSION | "Contents/Home/bin/java" | ""
86-
"linux" | "aarch64" | VENDOR_AZUL | AZUL_AARCH_VERSION | "bin/java" | ""
75+
platform | arch | jdkVendor | jdkVersion | expectedJavaBin | suffix
76+
"linux" | "x64" | VENDOR_ADOPTOPENJDK | ADOPT_JDK_VERSION | "bin/java" | ""
77+
"linux" | "x64" | VENDOR_OPENJDK | OPEN_JDK_VERSION | "bin/java" | ""
78+
"linux" | "x64" | VENDOR_OPENJDK | OPENJDK_VERSION_OLD | "bin/java" | "(old version)"
79+
"windows" | "x64" | VENDOR_ADOPTOPENJDK | ADOPT_JDK_VERSION | "bin/java" | ""
80+
"windows" | "x64" | VENDOR_OPENJDK | OPEN_JDK_VERSION | "bin/java" | ""
81+
"windows" | "x64" | VENDOR_OPENJDK | OPENJDK_VERSION_OLD | "bin/java" | "(old version)"
82+
"darwin" | "x64" | VENDOR_ADOPTOPENJDK | ADOPT_JDK_VERSION | "Contents/Home/bin/java" | ""
83+
"darwin" | "x64" | VENDOR_OPENJDK | OPEN_JDK_VERSION | "Contents/Home/bin/java" | ""
84+
"darwin" | "x64" | VENDOR_OPENJDK | OPENJDK_VERSION_OLD | "Contents/Home/bin/java" | "(old version)"
85+
"mac" | "x64" | VENDOR_OPENJDK | OPEN_JDK_VERSION | "Contents/Home/bin/java" | ""
86+
"mac" | "x64" | VENDOR_OPENJDK | OPENJDK_VERSION_OLD | "Contents/Home/bin/java" | "(old version)"
87+
"darwin" | "aarch64" | VENDOR_AZUL | AZUL_AARCH_VERSION | "Contents/Home/bin/java" | ""
88+
"linux" | "aarch64" | VENDOR_AZUL | AZUL_AARCH_VERSION | "bin/java" | ""
89+
"linux" | "aarch64" | VENDOR_ADOPTOPENJDK | ADOPT_JDK_VERSION_11 | "bin/java" | "(jdk 11)"
90+
"linux" | "aarch64" | VENDOR_ADOPTOPENJDK | ADOPT_JDK_VERSION_15 | "bin/java" | "(jdk 15)"
8791
}
8892

8993
def "transforms are reused across projects"() {
@@ -195,10 +199,13 @@ class JdkDownloadPluginFuncTest extends AbstractGradleFuncTest {
195199
true
196200
}
197201

198-
private static String urlPath(final String vendor, final String version, final String platform) {
202+
private static String urlPath(final String vendor,
203+
final String version,
204+
final String platform,
205+
final String arch = 'x64') {
199206
if (vendor.equals(VENDOR_ADOPTOPENJDK)) {
200207
final String module = isMac(platform) ? "mac" : platform;
201-
return "/jdk-12.0.2+10/" + module + "/x64/jdk/hotspot/normal/adoptopenjdk";
208+
return "/jdk-" + version + "/" + module + "/${arch}/jdk/hotspot/normal/adoptopenjdk";
202209
} else if (vendor.equals(VENDOR_OPENJDK)) {
203210
final String effectivePlatform = isMac(platform) ? "osx" : platform;
204211
final boolean isOld = version.equals(OPENJDK_VERSION_OLD);
@@ -208,7 +215,7 @@ class JdkDownloadPluginFuncTest extends AbstractGradleFuncTest {
208215
} else if (vendor.equals(VENDOR_AZUL)) {
209216
final String module = isMac(platform) ? "macosx" : platform;
210217
// we only test zulu 15 darwin aarch64 for now
211-
return "/zulu${module.equals('linux') ? '-embedded' : ''}/bin/zulu15.29.15-ca-jdk15.0.2-${module}_aarch64.tar.gz";
218+
return "/zulu${module.equals('linux') ? '-embedded' : ''}/bin/zulu15.29.15-ca-jdk15.0.2-${module}_${arch}.tar.gz";
212219
}
213220
}
214221

buildSrc/src/integTest/groovy/org/elasticsearch/gradle/fixtures/DistributionDownloadFixture.groovy

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,7 @@ class DistributionDownloadFixture {
4444
private static String urlPath(String version,ElasticsearchDistribution.Platform platform) {
4545
String fileType = ((platform == ElasticsearchDistribution.Platform.LINUX ||
4646
platform == ElasticsearchDistribution.Platform.DARWIN)) ? "tar.gz" : "zip"
47-
String arch = Architecture.current() == Architecture.AARCH64 ? "aarch64" : "x86_64"
48-
"/downloads/elasticsearch/elasticsearch-${version}-${platform}-${arch}.$fileType"
47+
"/downloads/elasticsearch/elasticsearch-${version}-${platform}-${Architecture.current().classifier}.$fileType"
4948
}
5049

5150
private static byte[] filebytes(String urlPath) throws IOException {

buildSrc/src/integTest/groovy/org/elasticsearch/gradle/internal/InternalDistributionDownloadPluginFuncTest.groovy

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,11 @@
88

99
package org.elasticsearch.gradle.internal
1010

11+
import org.elasticsearch.gradle.Architecture
1112
import org.elasticsearch.gradle.VersionProperties
1213
import org.elasticsearch.gradle.fixtures.AbstractGradleFuncTest
13-
import org.gradle.testkit.runner.GradleRunner
1414
import org.gradle.testkit.runner.TaskOutcome
15-
import org.junit.Rule
16-
import org.junit.rules.TemporaryFolder
1715

18-
import java.lang.management.ManagementFactory
1916

2017
class InternalDistributionDownloadPluginFuncTest extends AbstractGradleFuncTest {
2118

@@ -61,7 +58,7 @@ class InternalDistributionDownloadPluginFuncTest extends AbstractGradleFuncTest
6158
def result = gradleRunner("setupDistro", '-g', testProjectDir.newFolder('GUH').path).build()
6259

6360
then:
64-
result.task(":distribution:archives:linux-tar:buildExpanded").outcome == TaskOutcome.SUCCESS
61+
result.task(":distribution:archives:${testArchiveProjectName}:buildExpanded").outcome == TaskOutcome.SUCCESS
6562
result.task(":setupDistro").outcome == TaskOutcome.SUCCESS
6663
assertExtractedDistroIsCreated("build/distro", 'current-marker.txt')
6764
}
@@ -133,24 +130,24 @@ class InternalDistributionDownloadPluginFuncTest extends AbstractGradleFuncTest
133130
apply plugin:'base'
134131
135132
// packed distro
136-
configurations.create("linux-tar")
133+
configurations.create("${testArchiveProjectName}")
137134
tasks.register("buildBwcTask", Tar) {
138135
from('bwc-marker.txt')
139136
archiveExtension = "tar.gz"
140137
compression = Compression.GZIP
141138
}
142139
artifacts {
143-
it.add("linux-tar", buildBwcTask)
140+
it.add("${testArchiveProjectName}", buildBwcTask)
144141
}
145142
146143
// expanded distro
147-
configurations.create("expanded-linux-tar")
144+
configurations.create("expanded-${testArchiveProjectName}")
148145
def expandedTask = tasks.register("buildBwcExpandedTask", Copy) {
149146
from('bwc-marker.txt')
150147
into('build/install/elastic-distro')
151148
}
152149
artifacts {
153-
it.add("expanded-linux-tar", file('build/install')) {
150+
it.add("expanded-${testArchiveProjectName}", file('build/install')) {
154151
builtBy expandedTask
155152
type = 'directory'
156153
}
@@ -160,9 +157,9 @@ class InternalDistributionDownloadPluginFuncTest extends AbstractGradleFuncTest
160157

161158
private void localDistroSetup() {
162159
settingsFile << """
163-
include ":distribution:archives:linux-tar"
160+
include ":distribution:archives:${testArchiveProjectName}"
164161
"""
165-
def bwcSubProjectFolder = testProjectDir.newFolder("distribution", "archives", "linux-tar")
162+
def bwcSubProjectFolder = testProjectDir.newFolder("distribution", "archives", testArchiveProjectName)
166163
new File(bwcSubProjectFolder, 'current-marker.txt') << "current"
167164
new File(bwcSubProjectFolder, 'build.gradle') << """
168165
import org.gradle.api.internal.artifacts.ArtifactAttributes;
@@ -190,10 +187,12 @@ class InternalDistributionDownloadPluginFuncTest extends AbstractGradleFuncTest
190187
it.add("extracted", buildExpanded)
191188
}
192189
"""
193-
buildFile << """
194-
"""
195190
}
196191

192+
String getTestArchiveProjectName() {
193+
def archSuffix = Architecture.current() == Architecture.AARCH64 ? '-aarch64' : ''
194+
return "linux${archSuffix}-tar"
195+
}
197196
boolean assertExtractedDistroIsCreated(String relativeDistroPath, String markerFileName) {
198197
File extractedFolder = new File(testProjectDir.root, relativeDistroPath)
199198
assert extractedFolder.exists()

buildSrc/src/integTest/resources/org/elasticsearch/gradle/internal/fake_git/remote/.ci/java-versions.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@
55
# in compliance with, at your election, the Elastic License 2.0 or the Server
66
# Side Public License, v 1.
77
#
8-
ES_BUILD_JAVA=openjdk12
9-
ES_RUNTIME_JAVA=openjdk12
8+
ES_BUILD_JAVA=openjdk11
9+
ES_RUNTIME_JAVA=openjdk11
1010
GRADLE_TASK=build

buildSrc/src/main/java/org/elasticsearch/gradle/Architecture.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,14 @@
1010

1111
public enum Architecture {
1212

13-
X64,
14-
AARCH64;
13+
X64("x86_64"),
14+
AARCH64("aarch64");
15+
16+
public final String classifier;
17+
18+
Architecture(String classifier) {
19+
this.classifier = classifier;
20+
}
1521

1622
public static Architecture current() {
1723
final String architecture = System.getProperty("os.arch", "");

buildSrc/src/main/java/org/elasticsearch/gradle/DistributionDownloadPlugin.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -166,14 +166,11 @@ private String dependencyNotation(ElasticsearchDistribution distribution) {
166166

167167
Version distroVersion = Version.fromString(distribution.getVersion());
168168
String extension = distribution.getType().toString();
169-
String classifier = ":" + (Architecture.current() == Architecture.AARCH64 ? "aarch64" : "x86_64");
169+
String classifier = ":" + Architecture.current().classifier;
170170
if (distribution.getType() == Type.ARCHIVE) {
171171
extension = distribution.getPlatform() == Platform.WINDOWS ? "zip" : "tar.gz";
172172
if (distroVersion.onOrAfter("7.0.0")) {
173-
classifier = ":"
174-
+ distribution.getPlatform()
175-
+ "-"
176-
+ (Architecture.current() == Architecture.AARCH64 ? "aarch64" : "x86_64");
173+
classifier = ":" + distribution.getPlatform() + "-" + Architecture.current().classifier;
177174
} else {
178175
classifier = "";
179176
}

buildSrc/src/test/java/org/elasticsearch/gradle/BwcVersionsTests.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package org.elasticsearch.gradle;
22

33
import org.elasticsearch.gradle.test.GradleUnitTestCase;
4+
import org.junit.Assume;
5+
import org.junit.BeforeClass;
46
import org.junit.Rule;
57
import org.junit.Test;
68
import org.junit.rules.ExpectedException;
@@ -279,6 +281,11 @@ public class BwcVersionsTests extends GradleUnitTestCase {
279281
sampleVersions.put("7.1.0", asList("7_1_0", "7_0_0", "6_7_0", "6_6_1", "6_6_0"));
280282
}
281283

284+
@BeforeClass
285+
public static void setupAll() {
286+
Assume.assumeFalse(Architecture.current() == Architecture.AARCH64);
287+
}
288+
282289
@Test(expected = IllegalArgumentException.class)
283290
public void testExceptionOnEmpty() {
284291
new BwcVersions(asList("foo", "bar"), Version.fromString("7.0.0"));

docs/reference/analysis/token-graphs.asciidoc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,10 @@ record the `positionLength` for multi-position tokens. This filters include:
3939
* <<analysis-synonym-graph-tokenfilter,`synonym_graph`>>
4040
* <<analysis-word-delimiter-graph-tokenfilter,`word_delimiter_graph`>>
4141

42+
Some tokenizers, such as the
43+
{plugin}/analysis-nori-tokenizer.html[`nori_tokenizer`], also accurately
44+
decompose compound tokens into multi-position tokens.
45+
4246
In the following graph, `domain name system` and its synonym, `dns`, both have a
4347
position of `0`. However, `dns` has a `positionLength` of `3`. Other tokens in
4448
the graph have a default `positionLength` of `1`.

0 commit comments

Comments
 (0)