Skip to content

Commit 1dceece

Browse files
committed
Merge branch 'main' of https://github.com/elastic/elasticsearch into filters_on_inlinestats
2 parents 8483389 + f6e2092 commit 1dceece

File tree

330 files changed

+12938
-2767
lines changed

Some content is hidden

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

330 files changed

+12938
-2767
lines changed
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
steps:
2+
- label: ":pipeline: Generate steps"
3+
command: bash .buildkite/scripts/generate-pr-performance-benchmark.sh | buildkite-agent pipeline upload

.buildkite/pipelines/pull-request/performance-benchmark.yml

Lines changed: 0 additions & 3 deletions
This file was deleted.

.buildkite/pull-requests.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@
2727
"set_commit_status": false,
2828
"build_on_commit": false,
2929
"build_on_comment": true,
30-
"trigger_comment_regex": "^(buildkite|@elastic(search)?machine) benchmark this with (?<benchmark>\\w+)( please)?$"
30+
"target_branch": "main",
31+
"trigger_comment_regex": "^(buildkite|@elastic(search)?machine) benchmark this with (?<benchmark>\\S+)( please)?$"
3132
}
3233
]
3334
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
#!/bin/bash
2+
3+
set -euo pipefail
4+
5+
env_id_baseline=$(python3 -c 'import uuid; print(uuid.uuid4())')
6+
env_id_contender=$(python3 -c 'import uuid; print(uuid.uuid4())')
7+
merge_base=$(git merge-base "${GITHUB_PR_TARGET_BRANCH}" HEAD)
8+
9+
buildkite-agent meta-data set pr_comment:custom-body:body \
10+
"This build attempted two ${GITHUB_PR_COMMENT_VAR_BENCHMARK} benchmarks to evaluate performance impact of this PR."
11+
buildkite-agent meta-data set pr_comment:custom-baseline:head \
12+
"* Baseline: ${merge_base} (env ID ${env_id_baseline})"
13+
buildkite-agent meta-data set pr_comment:custom-contender:head \
14+
"* Contender: ${GITHUB_PR_TRIGGERED_SHA} (env ID ${env_id_contender})"
15+
16+
cat << _EOF_
17+
steps:
18+
- label: Trigger baseline benchmark
19+
trigger: elasticsearch-performance-esbench-pr
20+
build:
21+
message: Baseline benchmark for PR${GITHUB_PR_NUMBER}
22+
branch: master
23+
env:
24+
CONFIGURATION_NAME: ${GITHUB_PR_COMMENT_VAR_BENCHMARK}
25+
ENV_ID: ${env_id_baseline}
26+
REVISION: ${merge_base}
27+
- label: Trigger contender benchmark
28+
trigger: elasticsearch-performance-esbench-pr
29+
build:
30+
message: Contender benchmark for PR${GITHUB_PR_NUMBER}
31+
branch: master
32+
env:
33+
CONFIGURATION_NAME: ${GITHUB_PR_COMMENT_VAR_BENCHMARK}
34+
ENV_ID: ${env_id_contender}
35+
ES_REPO_URL: https://github.com/${GITHUB_PR_OWNER}/${GITHUB_PR_REPO}.git
36+
REVISION: ${GITHUB_PR_TRIGGERED_SHA}
37+
- wait: ~
38+
- label: Modify PR comment
39+
command: buildkite-agent meta-data set pr_comment:custom-comparison:head "* [Benchmark results](<https://esbench-metrics.kb.us-east-2.aws.elastic-cloud.com:9243/app/dashboards#/view/d9079962-5866-49ef-b9f5-145f2141cd31?_a=(query:(language:kuery,query:'user-tags.env-id:${env_id_baseline} or user-tags.env-id:${env_id_contender}'))>)"
40+
_EOF_

benchmarks/src/main/java/org/elasticsearch/benchmark/_nightly/esql/ValuesSourceReaderBenchmark.java

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -142,11 +142,26 @@ static void selfTest() {
142142
private static List<ValuesSourceReaderOperator.FieldInfo> fields(String name) {
143143
return switch (name) {
144144
case "3_stored_keywords" -> List.of(
145-
new ValuesSourceReaderOperator.FieldInfo("keyword_1", ElementType.BYTES_REF, shardIdx -> blockLoader("stored_keyword_1")),
146-
new ValuesSourceReaderOperator.FieldInfo("keyword_2", ElementType.BYTES_REF, shardIdx -> blockLoader("stored_keyword_2")),
147-
new ValuesSourceReaderOperator.FieldInfo("keyword_3", ElementType.BYTES_REF, shardIdx -> blockLoader("stored_keyword_3"))
145+
new ValuesSourceReaderOperator.FieldInfo(
146+
"keyword_1",
147+
ElementType.BYTES_REF,
148+
false,
149+
shardIdx -> blockLoader("stored_keyword_1")
150+
),
151+
new ValuesSourceReaderOperator.FieldInfo(
152+
"keyword_2",
153+
ElementType.BYTES_REF,
154+
false,
155+
shardIdx -> blockLoader("stored_keyword_2")
156+
),
157+
new ValuesSourceReaderOperator.FieldInfo(
158+
"keyword_3",
159+
ElementType.BYTES_REF,
160+
false,
161+
shardIdx -> blockLoader("stored_keyword_3")
162+
)
148163
);
149-
default -> List.of(new ValuesSourceReaderOperator.FieldInfo(name, elementType(name), shardIdx -> blockLoader(name)));
164+
default -> List.of(new ValuesSourceReaderOperator.FieldInfo(name, elementType(name), false, shardIdx -> blockLoader(name)));
150165
};
151166
}
152167

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

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -33,27 +33,27 @@ class AbstractTransportVersionFuncTest extends AbstractGradleFuncTest {
3333
}
3434
}
3535

36-
def namedTransportVersion(String name, String ids) {
37-
javaResource("myserver", "transport/definitions/named/" + name + ".csv", ids)
36+
def referableTransportVersion(String name, String ids) {
37+
javaResource("myserver", "transport/definitions/referable/" + name + ".csv", ids)
3838
}
3939

40-
def unreferencedTransportVersion(String name, String id) {
41-
javaResource("myserver", "transport/definitions/unreferenced/" + name + ".csv", id)
40+
def unreferableTransportVersion(String name, String id) {
41+
javaResource("myserver", "transport/definitions/unreferable/" + name + ".csv", id)
4242
}
4343

44-
def namedAndReferencedTransportVersion(String name, String ids) {
45-
return namedAndReferencedTransportVersion(name, ids, "Test${name.capitalize()}")
44+
def referableAndReferencedTransportVersion(String name, String ids) {
45+
return referableAndReferencedTransportVersion(name, ids, "Test${name.capitalize()}")
4646
}
4747

48-
def namedAndReferencedTransportVersion(String name, String ids, String classname) {
48+
def referableAndReferencedTransportVersion(String name, String ids, String classname) {
4949
javaSource("myserver", "org.elasticsearch", classname, "", """
5050
static final TransportVersion usage = TransportVersion.fromName("${name}");
5151
""")
52-
namedTransportVersion(name, ids)
52+
referableTransportVersion(name, ids)
5353
}
5454

55-
def latestTransportVersion(String branch, String name, String id) {
56-
javaResource("myserver", "transport/latest/" + branch + ".csv","${name},${id}")
55+
def transportVersionUpperBound(String branch, String name, String id) {
56+
javaResource("myserver", "transport/upper_bounds/" + branch + ".csv","${name},${id}")
5757
}
5858

5959
def validateReferencesFails(String project) {
@@ -87,11 +87,11 @@ class AbstractTransportVersionFuncTest extends AbstractGradleFuncTest {
8787
apply plugin: 'elasticsearch.transport-version-references'
8888
apply plugin: 'elasticsearch.transport-version-resources'
8989
"""
90-
namedTransportVersion("existing_91", "8012000")
91-
namedTransportVersion("existing_92", "8123000,8012001")
92-
unreferencedTransportVersion("initial_9_0_0", "8000000")
93-
latestTransportVersion("9.2", "existing_92", "8123000")
94-
latestTransportVersion("9.1", "existing_92", "8012001")
90+
referableTransportVersion("existing_91", "8012000")
91+
referableTransportVersion("existing_92", "8123000,8012001")
92+
unreferableTransportVersion("initial_9_0_0", "8000000")
93+
transportVersionUpperBound("9.2", "existing_92", "8123000")
94+
transportVersionUpperBound("9.1", "existing_92", "8012001")
9595
// a mock version of TransportVersion, just here so we can compile Dummy.java et al
9696
javaSource("myserver", "org.elasticsearch", "TransportVersion", "", """
9797
public static TransportVersion fromName(String name) {

0 commit comments

Comments
 (0)