Skip to content

Commit 44ace1a

Browse files
committed
Merge branch 'main' of https://github.com/elastic/elasticsearch into esql_text_embedding_function
2 parents 4fe169a + ab59e5e commit 44ace1a

File tree

1,177 files changed

+44071
-23380
lines changed

Some content is hidden

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

1,177 files changed

+44071
-23380
lines changed

.buildkite/pipelines/java-ea-check-new-build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ steps:
33
env:
44
RECENT_TIME_WINDOW: "24" # time window to consider a build as new in hours
55
agents:
6-
image: "docker.elastic.co/ci-agent-images/eck-region/buildkite-agent:1.5"
6+
image: "docker.elastic.co/ci-agent-images/eck-region/buildkite-agent:1.15"
77
memory: "4G"

.buildkite/pipelines/pull-request/pr-upgrade.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ steps:
22
- label: pr-upgrade
33
command: ".buildkite/scripts/run-pr-upgrade-tests.sh"
44
agents:
5-
image: "docker.elastic.co/ci-agent-images/eck-region/buildkite-agent:1.5"
5+
image: "docker.elastic.co/ci-agent-images/eck-region/buildkite-agent:1.15"
66
memory: "4G"

.buildkite/pull-requests.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
},
1919
{
2020
"enabled": true,
21+
"target_branch": "main",
2122
"pipeline_slug": "elasticsearch-pull-request-transport-versions",
2223
"allow_org_users": true,
2324
"allowed_repo_permissions": [

benchmarks/src/main/java/org/elasticsearch/benchmark/vector/OptimizedScalarQuantizerBenchmark.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ public class OptimizedScalarQuantizerBenchmark {
4242
int dims;
4343

4444
float[] vector;
45+
float[] scratch;
4546
float[] centroid;
4647
int[] destination;
4748

@@ -57,6 +58,7 @@ public void init() {
5758
destination = new int[dims];
5859
vector = new float[dims];
5960
centroid = new float[dims];
61+
scratch = new float[dims];
6062
for (int i = 0; i < dims; ++i) {
6163
vector[i] = random.nextFloat();
6264
centroid[i] = random.nextFloat();
@@ -65,14 +67,14 @@ public void init() {
6567

6668
@Benchmark
6769
public int[] scalar() {
68-
osq.scalarQuantize(vector, destination, bits, centroid);
70+
osq.scalarQuantize(vector, scratch, destination, bits, centroid);
6971
return destination;
7072
}
7173

7274
@Benchmark
7375
@Fork(jvmArgsPrepend = { "--add-modules=jdk.incubator.vector" })
7476
public int[] vector() {
75-
osq.scalarQuantize(vector, destination, bits, centroid);
77+
osq.scalarQuantize(vector, scratch, destination, bits, centroid);
7678
return destination;
7779
}
7880
}

build-conventions/settings.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*/
99

1010
plugins {
11-
id "com.gradle.develocity" version "4.0.1"
11+
id "com.gradle.develocity" version "4.1.1"
1212
}
1313

1414
rootProject.name = 'build-conventions'

build-conventions/src/main/java/org/elasticsearch/gradle/internal/conventions/VersionPropertiesBuildService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import java.util.Properties;
2323
import javax.inject.Inject;
2424

25-
abstract class VersionPropertiesBuildService implements BuildService<VersionPropertiesBuildService.Params>, AutoCloseable {
25+
public abstract class VersionPropertiesBuildService implements BuildService<VersionPropertiesBuildService.Params>, AutoCloseable {
2626

2727
private final Properties properties;
2828

build-tools-internal/settings.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ pluginManagement {
99
}
1010

1111
plugins {
12-
id "com.gradle.develocity" version "4.0.1"
12+
id "com.gradle.develocity" version "4.1.1"
1313
}
1414

1515
dependencyResolutionManagement {

build-tools-internal/src/integTest/groovy/org/elasticsearch/gradle/internal/transport/AbstractTransportVersionFuncTest.groovy

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,17 +93,29 @@ class AbstractTransportVersionFuncTest extends AbstractGradleFuncTest {
9393
assert file("myserver/src/main/resources/transport/definitions/referable/${name}.csv").exists() == false
9494
}
9595

96+
void assertUnreferableDefinition(String name, String content) {
97+
File definitionFile = file("myserver/src/main/resources/transport/definitions/unreferable/${name}.csv")
98+
assert definitionFile.exists()
99+
assert definitionFile.text.strip() == content
100+
}
101+
96102
void assertUpperBound(String name, String content) {
97103
assert file("myserver/src/main/resources/transport/upper_bounds/${name}.csv").text.strip() == content
98104
}
99105

106+
void assertNoChanges() {
107+
String output = execute("git diff")
108+
assert output.strip().isEmpty() : "Expected no local git changes, but found:${System.lineSeparator()}${output}"
109+
}
110+
100111
def setup() {
101112
configurationCacheCompatible = false
102113
internalBuild()
103114
settingsFile << """
104115
include ':myserver'
105116
include ':myplugin'
106117
"""
118+
versionPropertiesFile.text = versionPropertiesFile.text.replace("9.1.0", "9.2.0")
107119

108120
file("myserver/build.gradle") << """
109121
apply plugin: 'java-library'
@@ -116,10 +128,12 @@ class AbstractTransportVersionFuncTest extends AbstractGradleFuncTest {
116128
"""
117129
referableTransportVersion("existing_91", "8012000")
118130
referableTransportVersion("existing_92", "8123000,8012001")
119-
unreferableTransportVersion("initial_9_0_0", "8000000")
131+
unreferableTransportVersion("initial_9.0.0", "8000000")
132+
unreferableTransportVersion("initial_8.19.7", "7123001")
120133
transportVersionUpperBound("9.2", "existing_92", "8123000")
121134
transportVersionUpperBound("9.1", "existing_92", "8012001")
122-
transportVersionUpperBound("9.0", "initial_9_0_0", "8000000")
135+
transportVersionUpperBound("9.0", "initial_9.0.0", "8000000")
136+
transportVersionUpperBound("8.19", "initial_8.19.7", "7123001")
123137
// a mock version of TransportVersion, just here so we can compile Dummy.java et al
124138
javaSource("myserver", "org.elasticsearch", "TransportVersion", "", """
125139
public static TransportVersion fromName(String name) {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
/*
2+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3+
* or more contributor license agreements. Licensed under the "Elastic License
4+
* 2.0", the "GNU Affero General Public License v3.0 only", and the "Server Side
5+
* Public License v 1"; you may not use this file except in compliance with, at
6+
* your election, the "Elastic License 2.0", the "GNU Affero General Public
7+
* License v3.0 only", or the "Server Side Public License, v 1".
8+
*/
9+
10+
package org.elasticsearch.gradle.internal.transport
11+
12+
import org.gradle.testkit.runner.BuildResult
13+
import org.gradle.testkit.runner.TaskOutcome
14+
15+
class GenerateInitialTransportVersionFuncTest extends AbstractTransportVersionFuncTest {
16+
def runGenerateAndValidateTask(String... additionalArgs) {
17+
List<String> args = new ArrayList<>()
18+
args.add(":myserver:validateTransportVersionResources")
19+
args.add(":myserver:generateInitialTransportVersion")
20+
args.addAll(additionalArgs);
21+
return gradleRunner(args.toArray())
22+
}
23+
24+
def runGenerateTask(String... additionalArgs) {
25+
List<String> args = new ArrayList<>()
26+
args.add(":myserver:generateInitialTransportVersion")
27+
args.addAll(additionalArgs);
28+
return gradleRunner(args.toArray())
29+
}
30+
31+
void assertGenerateSuccess(BuildResult result) {
32+
assert result.task(":myserver:generateInitialTransportVersion").outcome == TaskOutcome.SUCCESS
33+
}
34+
35+
void assertGenerateFailure(BuildResult result, String expectedOutput) {
36+
assert result.task(":myserver:generateInitialTransportVersion").outcome == TaskOutcome.FAILED
37+
assertOutputContains(result.output, expectedOutput)
38+
}
39+
40+
void assertValidateSuccess(BuildResult result) {
41+
assert result.task(":myserver:validateTransportVersionResources").outcome == TaskOutcome.SUCCESS
42+
}
43+
44+
void assertGenerateAndValidateSuccess(BuildResult result) {
45+
assertGenerateSuccess(result)
46+
assertValidateSuccess(result)
47+
}
48+
49+
def "setup is valid"() {
50+
when:
51+
def result = runGenerateAndValidateTask("--release-version", "9.0.0").build()
52+
53+
then:
54+
assertGenerateAndValidateSuccess(result)
55+
// should have been idempotent, nothing actually changed
56+
assertNoChanges();
57+
}
58+
59+
def "new minor also creates next upper bound"() {
60+
given:
61+
// version properties will be updated by release automation before running initial version generation
62+
versionPropertiesFile.text = versionPropertiesFile.text.replace("9.2.0", "9.3.0")
63+
64+
when:
65+
System.out.println("Running generation initial task")
66+
def result = runGenerateAndValidateTask("--release-version", "9.2.0").build()
67+
System.out.println("Done running generation task")
68+
69+
then:
70+
assertGenerateAndValidateSuccess(result)
71+
assertUnreferableDefinition("initial_9.2.0", "8124000")
72+
assertUpperBound("9.2", "initial_9.2.0,8124000")
73+
assertUpperBound("9.3", "initial_9.2.0,8124000")
74+
}
75+
76+
def "patch updates existing upper bound"() {
77+
when:
78+
def result = runGenerateAndValidateTask("--release-version", "9.1.2").build()
79+
80+
then:
81+
assertGenerateAndValidateSuccess(result)
82+
assertUnreferableDefinition("initial_9.1.2", "8012002")
83+
assertUpperBound("9.1", "initial_9.1.2,8012002")
84+
}
85+
86+
def "cannot create upper bound file for patch"() {
87+
when:
88+
def result = runGenerateTask("--release-version", "9.3.7").buildAndFail()
89+
90+
then:
91+
assertGenerateFailure(result, "Missing upper bound 9.3 for release version 9.3.7")
92+
}
93+
}

build-tools-internal/src/integTest/groovy/org/elasticsearch/gradle/internal/transport/TransportVersionGenerationFuncTest.groovy

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -412,7 +412,7 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
412412
def result = runGenerateTask("--backport-branches=9.1,8.13,7.17,6.0").buildAndFail()
413413

414414
then:
415-
assertGenerateFailure(result, "Missing upper bounds files for branches [6.0, 7.17, 8.13], known branches are [9.0, 9.1, 9.2]")
415+
assertGenerateFailure(result, "Missing upper bounds files for branches [6.0, 7.17, 8.13], known branches are [8.19, 9.0, 9.1, 9.2]")
416416
}
417417

418418
def "name can be found from committed definition"() {
@@ -443,4 +443,46 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
443443
assertUpperBound("9.2", "new_tv,8124000")
444444
assertReferableDefinition("new_tv", "8124000")
445445
}
446+
447+
def "alternate upper bound larger"() {
448+
given:
449+
referencedTransportVersion("new_tv")
450+
file("myserver/alt_upper_bound.csv").text = "some_tv,8126000"
451+
file("myserver/build.gradle") << """
452+
tasks.named('generateTransportVersionDefinition') {
453+
alternateUpperBoundFile = project.file("alt_upper_bound.csv")
454+
}
455+
tasks.named('validateTransportVersionResources') {
456+
shouldValidateDensity = false
457+
}
458+
"""
459+
460+
when:
461+
def result = runGenerateAndValidateTask().build()
462+
then:
463+
assertGenerateAndValidateSuccess(result)
464+
assertUpperBound("9.2", "new_tv,8127000")
465+
assertReferableDefinition("new_tv", "8127000")
466+
}
467+
468+
def "alternate upper bound less"() {
469+
given:
470+
referencedTransportVersion("new_tv")
471+
file("myserver/alt_upper_bound.csv").text = "some_tv,8122100"
472+
file("myserver/build.gradle") << """
473+
tasks.named('generateTransportVersionDefinition') {
474+
alternateUpperBoundFile = project.file("alt_upper_bound.csv")
475+
}
476+
tasks.named('validateTransportVersionResources') {
477+
shouldValidateDensity = false
478+
}
479+
"""
480+
481+
when:
482+
def result = runGenerateAndValidateTask().build()
483+
then:
484+
assertGenerateAndValidateSuccess(result)
485+
assertUpperBound("9.2", "new_tv,8124000")
486+
assertReferableDefinition("new_tv", "8124000")
487+
}
446488
}

0 commit comments

Comments
 (0)