Skip to content

Commit d02f5a2

Browse files
Merge branch 'main' into bc-upgrade/bc-commit-hash-script
2 parents b913f7a + d1d7302 commit d02f5a2

File tree

364 files changed

+15583
-2345
lines changed

Some content is hidden

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

364 files changed

+15583
-2345
lines changed

.buildkite/hooks/pre-command

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,18 @@ if [[ "${USE_PROD_DOCKER_CREDENTIALS:-}" == "true" ]]; then
9494
fi
9595
fi
9696

97+
if [[ "${USE_PERF_CREDENTIALS:-}" == "true" ]]; then
98+
PERF_METRICS_HOST=$(vault read -field=es_host /secret/ci/elastic-elasticsearch/esbench-metics)
99+
PERF_METRICS_INDEX="dummy-micro-benchmarks"
100+
PERF_METRICS_USERNAME=$(vault read -field=es_username /secret/ci/elastic-elasticsearch/esbench-metics)
101+
PERF_METRICS_PASSWORD=$(vault read -field=es_password /secret/ci/elastic-elasticsearch/esbench-metics)
102+
103+
export PERF_METRICS_HOST
104+
export PERF_METRICS_INDEX
105+
export PERF_METRICS_USERNAME
106+
export PERF_METRICS_PASSWORD
107+
fi
108+
97109
# Authenticate to the Docker Hub public read-only registry
98110
if which docker > /dev/null 2>&1; then
99111
DOCKERHUB_REGISTRY_USERNAME="$(vault read -field=username secret/ci/elastic-elasticsearch/docker_hub_public_ro_credentials)"

.buildkite/pipelines/periodic-micro-benchmarks.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
steps:
22
- label: periodic-micro-benchmarks
33
command: |
4-
.ci/scripts/run-gradle.sh -p benchmarks/ run --args 'org.elasticsearch.benchmark._nightly -rf json -rff build/result.json'
4+
.ci/scripts/run-gradle.sh :benchmarks:run --args 'org.elasticsearch.benchmark._nightly -rf json -rff build/result.json'
5+
.buildkite/scripts/index-micro-benchmark-results.sh
6+
env:
7+
USE_PERF_CREDENTIALS: "true"
58
timeout_in_minutes: 300
69
agents:
710
provider: gcp
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/bin/bash
2+
3+
jq -c '.[]' "benchmarks/build/result.json" | while read -r doc; do
4+
doc=$(echo "$doc" | jq --argjson timestamp "$(date +%s000)" '. + {"@timestamp": $timestamp}')
5+
echo "Indexing $(echo "$doc" | jq -r '.benchmark')"
6+
curl -s -X POST "https://$PERF_METRICS_HOST/$PERF_METRICS_INDEX/_doc" \
7+
-u "$PERF_METRICS_USERNAME:$PERF_METRICS_PASSWORD" \
8+
-H 'Content-Type: application/json' \
9+
-d "$doc"
10+
done

.ci/scripts/run-gradle.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,4 @@ else
4141
fi
4242

4343
set -e
44-
$GRADLEW -S --max-workers=$MAX_WORKERS $@
44+
$GRADLEW -S --max-workers=$MAX_WORKERS "$@"

benchmarks/src/main/java/org/elasticsearch/benchmark/search/query/range/DateFieldMapperDocValuesSkipperBenchmark.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,14 @@
2121
import org.apache.lucene.index.IndexWriterConfig;
2222
import org.apache.lucene.search.IndexOrDocValuesQuery;
2323
import org.apache.lucene.search.IndexSearcher;
24-
import org.apache.lucene.search.IndexSortSortedNumericDocValuesRangeQuery;
2524
import org.apache.lucene.search.Query;
2625
import org.apache.lucene.search.Sort;
2726
import org.apache.lucene.search.SortField;
2827
import org.apache.lucene.search.SortedNumericSortField;
2928
import org.apache.lucene.store.Directory;
3029
import org.apache.lucene.store.FSDirectory;
3130
import org.apache.lucene.util.BytesRef;
31+
import org.elasticsearch.lucene.search.XIndexSortSortedNumericDocValuesRangeQuery;
3232
import org.openjdk.jmh.annotations.Benchmark;
3333
import org.openjdk.jmh.annotations.BenchmarkMode;
3434
import org.openjdk.jmh.annotations.Fork;
@@ -295,7 +295,7 @@ public void rangeQueryWithDocValuesSkipper(final Blackhole bh) throws IOExceptio
295295
/**
296296
* Runs the actual Lucene range query, optionally combining a {@link LongPoint} index query
297297
* with doc values ({@link SortedNumericDocValuesField}) via {@link IndexOrDocValuesQuery},
298-
* and then wrapping it with an {@link IndexSortSortedNumericDocValuesRangeQuery} to utilize the index sort.
298+
* and then wrapping it with an {@link XIndexSortSortedNumericDocValuesRangeQuery} to utilize the index sort.
299299
*
300300
* @param searcher the Lucene {@link IndexSearcher}
301301
* @param rangeStartTimestamp lower bound of the timestamp range
@@ -316,7 +316,7 @@ private long rangeQuery(final IndexSearcher searcher, long rangeStartTimestamp,
316316
)
317317
: SortedNumericDocValuesField.newSlowRangeQuery(TIMESTAMP_FIELD, rangeStartTimestamp, rangeEndTimestamp);
318318

319-
final Query query = new IndexSortSortedNumericDocValuesRangeQuery(
319+
final Query query = new XIndexSortSortedNumericDocValuesRangeQuery(
320320
TIMESTAMP_FIELD,
321321
rangeStartTimestamp,
322322
rangeEndTimestamp,

build-tools-internal/src/main/resources/forbidden/es-all-signatures.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,3 +61,11 @@ org.apache.logging.log4j.message.ParameterizedMessage#<init>(java.lang.String, j
6161

6262
@defaultMessage Use WriteLoadForecaster#getForecastedWriteLoad instead
6363
org.elasticsearch.cluster.metadata.IndexMetadata#getForecastedWriteLoad()
64+
65+
# This is a temporary patch as there is a low level Lucene bug in certain scenarios
66+
# this should be fixed in the new Lucene release 10.3+
67+
org.apache.lucene.document.LongField#newExactQuery(java.lang.String, long) @ Use org.elasticsearch.lucene.document.NumericField#newExactLongQuery(java.lang.String, long) instead.
68+
org.apache.lucene.document.LongField#newRangeQuery(java.lang.String, long, long) @ Use org.elasticsearch.lucene.document.NumericField#newRangeLongQuery(java.lang.String, long, long) instead.
69+
org.apache.lucene.document.IntField#newExactQuery(java.lang.String, int) @ Use org.elasticsearch.lucene.document.NumericField#newExactIntQuery(java.lang.String, int) instead.
70+
org.apache.lucene.document.IntField#newRangeQuery(java.lang.String, int, int) @ Use org.elasticsearch.lucene.document.NumericField#newRangeIntQuery(java.lang.String, int, int) instead.
71+
org.apache.lucene.search.IndexSortSortedNumericDocValuesRangeQuery @ use org.elasticsearch.lucene.search.XIndexSortSortedNumericDocValuesRangeQuery instead.

build-tools-internal/src/main/resources/templates/index.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,17 @@ for(bundle in changelogBundles) {
2828
def nonNotableHighlights = bundle.nonNotableHighlights
2929
def unqualifiedVersion = bundle.unqualifiedVersion
3030
def coming = !bundle.bundle.released
31-
32-
if (coming) {
33-
print "\n"
34-
print "```{applies_to}\n"
35-
print "stack: coming ${version}\n"
36-
print "```"
37-
}
3831
%>
3932
## ${unqualifiedVersion} [elasticsearch-${versionForIds}-release-notes]
4033
<%
34+
35+
if (coming) {
36+
print "```{applies_to}\n"
37+
print "stack: coming ${version}\n"
38+
print "```"
39+
print "\n"
40+
}
41+
4142
if (!notableHighlights.isEmpty() || !nonNotableHighlights.isEmpty()) {
4243
print "\n### Highlights [elasticsearch-${versionForIds}-highlights]\n"
4344
}

build-tools-internal/src/test/java/org/elasticsearch/gradle/internal/release/ReleaseNotesGeneratorTest.java

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,14 @@
2020

2121
import static org.elasticsearch.gradle.internal.release.GenerateReleaseNotesTask.getSortedBundlesWithUniqueChangelogs;
2222
import static org.hamcrest.Matchers.equalTo;
23+
import static org.junit.Assert.assertFalse;
2324
import static org.junit.Assert.assertThat;
2425

2526
public class ReleaseNotesGeneratorTest {
2627

28+
// Temporarily set this to `true` to regenerate test output files when they need to be updated
29+
private final boolean UPDATE_EXPECTED_OUTPUT = false;
30+
2731
private static final List<String> CHANGE_TYPES = List.of(
2832
"breaking",
2933
"breaking-java",
@@ -78,8 +82,9 @@ public void testTemplate(String templateFilename, String outputFilename) throws
7882

7983
public void testTemplate(String templateFilename, String outputFilename, List<ChangelogBundle> bundles) throws Exception {
8084
// given:
85+
final String outputFile = "/org/elasticsearch/gradle/internal/release/ReleaseNotesGeneratorTest." + outputFilename;
8186
final String template = getResource("/templates/" + templateFilename);
82-
final String expectedOutput = getResource("/org/elasticsearch/gradle/internal/release/ReleaseNotesGeneratorTest." + outputFilename);
87+
final String expectedOutput = getResource(outputFile);
8388

8489
if (bundles == null) {
8590
bundles = getBundles();
@@ -91,7 +96,12 @@ public void testTemplate(String templateFilename, String outputFilename, List<Ch
9196
final String actualOutput = ReleaseNotesGenerator.generateFile(template, bundles);
9297

9398
// then:
94-
assertThat(actualOutput, equalTo(expectedOutput));
99+
if (UPDATE_EXPECTED_OUTPUT) {
100+
writeResource(outputFile, actualOutput);
101+
assertFalse("UPDATE_EXPECTED_OUTPUT should be set back to false after updating output", UPDATE_EXPECTED_OUTPUT);
102+
} else {
103+
assertThat(actualOutput, equalTo(expectedOutput));
104+
}
95105
}
96106

97107
private List<ChangelogBundle> getBundles() {
@@ -176,4 +186,9 @@ private ChangelogEntry makeHighlightsEntry(int pr, boolean notable) {
176186
private String getResource(String name) throws Exception {
177187
return Files.readString(Paths.get(Objects.requireNonNull(this.getClass().getResource(name)).toURI()), StandardCharsets.UTF_8);
178188
}
189+
190+
private void writeResource(String name, String contents) throws Exception {
191+
String path = "src/test/resources" + name;
192+
Files.writeString(Paths.get(path), contents);
193+
}
179194
}

build-tools-internal/src/test/resources/org/elasticsearch/gradle/internal/release/ReleaseNotesGeneratorTest.index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ To check for security updates, go to [Security announcements for the Elastic sta
2020
% ### Fixes [elasticsearch-next-fixes]
2121
% *
2222

23+
## 9.1.0 [elasticsearch-9.1.0-release-notes]
2324
```{applies_to}
2425
stack: coming 9.1.0
2526
```
26-
## 9.1.0 [elasticsearch-9.1.0-release-notes]
2727

2828
### Highlights [elasticsearch-9.1.0-highlights]
2929

@@ -47,10 +47,10 @@ Search:
4747
* [#52](https://github.com/elastic/elasticsearch/pull/52)
4848

4949

50+
## 9.0.10 [elasticsearch-9.0.10-release-notes]
5051
```{applies_to}
5152
stack: coming 9.0.10
5253
```
53-
## 9.0.10 [elasticsearch-9.0.10-release-notes]
5454

5555
### Features and enhancements [elasticsearch-9.0.10-features-enhancements]
5656

build-tools-internal/src/test/resources/org/elasticsearch/gradle/internal/release/ReleaseNotesGeneratorTest.index.no-highlights.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ To check for security updates, go to [Security announcements for the Elastic sta
2020
% ### Fixes [elasticsearch-next-fixes]
2121
% *
2222

23+
## 9.0.10 [elasticsearch-9.0.10-release-notes]
2324
```{applies_to}
2425
stack: coming 9.0.10
2526
```
26-
## 9.0.10 [elasticsearch-9.0.10-release-notes]
2727

2828
### Features and enhancements [elasticsearch-9.0.10-features-enhancements]
2929

0 commit comments

Comments
 (0)