Skip to content

Commit 884a9de

Browse files
authored
Merge branch '8.19' into backport/8.19/pr-135510
2 parents acf9968 + 32a2a1e commit 884a9de

File tree

25 files changed

+343
-204
lines changed

25 files changed

+343
-204
lines changed

.ci/scripts/packaging-test.sh

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,14 +69,30 @@ sudo mkdir -p /elasticsearch/qa/ && sudo chown jenkins /elasticsearch/qa/ && ln
6969
# See: https://git-scm.com/docs/git-config/2.35.2#Documentation/git-config.txt-safedirectory
7070
git config --global --add safe.directory $WORKSPACE
7171

72+
# Older versions of openjdk are incompatible to newer kernel of ubuntu. Use adoptopenjdk17 instead
73+
resolve_system_java_home() {
74+
if [[ "$BUILD_JAVA_HOME" == *"openjdk17"* ]]; then
75+
if [ -f "/etc/os-release" ]; then
76+
. /etc/os-release
77+
if [[ "$ID" == "ubuntu" && "$VERSION_ID" == "24.04" ]]; then
78+
echo "$HOME/.java/adoptopenjdk17"
79+
return
80+
fi
81+
fi
82+
fi
83+
84+
echo "$(readlink -f -n $BUILD_JAVA_HOME)"
85+
}
86+
87+
7288
# sudo sets it's own PATH thus we use env to override that and call sudo annother time so we keep the secure root PATH
7389
# run with --continue to run both bats and java tests even if one fails
7490
# be explicit about Gradle home dir so we use the same even with sudo
7591
sudo -E env \
7692
PATH=$BUILD_JAVA_HOME/bin:`sudo bash -c 'echo -n $PATH'` \
7793
--unset=ES_JAVA_HOME \
7894
--unset=JAVA_HOME \
79-
SYSTEM_JAVA_HOME=`readlink -f -n $BUILD_JAVA_HOME` \
95+
SYSTEM_JAVA_HOME=$(resolve_system_java_home) \
8096
DOCKER_CONFIG="${HOME}/.docker" \
8197
./gradlew -g $HOME/.gradle --console=plain --scan --parallel --build-cache -Dorg.elasticsearch.build.cache.url=https://gradle-enterprise.elastic.co/cache/ --continue $@
8298

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
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.GradleRunner
14+
import org.gradle.testkit.runner.TaskOutcome
15+
16+
class ResolveTransportVersionConflictFuncTest extends AbstractTransportVersionFuncTest {
17+
18+
GradleRunner runResolveAndValidateTask() {
19+
List<String> args = List.of(":myserver:validateTransportVersionResources", ":myserver:resolveTransportVersionConflict")
20+
return gradleRunner(args.toArray())
21+
}
22+
23+
void assertResolveAndValidateSuccess(BuildResult result) {
24+
assert result.task(":myserver:resolveTransportVersionConflict").outcome == TaskOutcome.SUCCESS
25+
assert result.task(":myserver:validateTransportVersionResources").outcome == TaskOutcome.SUCCESS
26+
}
27+
28+
def "update flag works with current"() {
29+
given:
30+
referableAndReferencedTransportVersion("new_tv", "8123000")
31+
file("myserver/src/main/resources/transport/latest/9.2.csv").text =
32+
"""
33+
<<<<<<< HEAD
34+
existing_92,8123000
35+
=======
36+
new_tv,8123000
37+
>>>>>> name
38+
""".strip()
39+
40+
when:
41+
def result = runResolveAndValidateTask().build()
42+
43+
then:
44+
assertResolveAndValidateSuccess(result)
45+
assertReferableDefinition("existing_92", "8123000,8012001")
46+
assertReferableDefinition("new_tv", "8124000")
47+
assertUpperBound("9.2", "new_tv,8124000")
48+
}
49+
50+
def "update flag works with multiple branches"() {
51+
given:
52+
referableAndReferencedTransportVersion("new_tv", "8123000,8012001,7123001")
53+
file("myserver/src/main/resources/transport/latest/9.2.csv").text =
54+
"""
55+
<<<<<<< HEAD
56+
existing_92,8123000
57+
=======
58+
new_tv,8123000
59+
>>>>>> name
60+
""".strip()
61+
file("myserver/src/main/resources/transport/latest/9.1.csv").text =
62+
"""
63+
<<<<<<< HEAD
64+
existing_92,8012001
65+
=======
66+
new_tv,8012001
67+
>>>>>> name
68+
""".strip()
69+
file("myserver/src/main/resources/transport/latest/8.19.csv").text =
70+
"""
71+
<<<<<<< HEAD
72+
initial_8.19.7,7123001
73+
=======
74+
new_tv,7123001
75+
>>>>>> name
76+
""".strip()
77+
78+
when:
79+
def result = runResolveAndValidateTask().build()
80+
81+
then:
82+
assertResolveAndValidateSuccess(result)
83+
assertReferableDefinition("existing_92", "8123000,8012001")
84+
assertUnreferableDefinition("initial_8.19.7", "7123001")
85+
assertReferableDefinition("new_tv", "8124000,8012002,7123002")
86+
assertUpperBound("9.2", "new_tv,8124000")
87+
assertUpperBound("9.1", "new_tv,8012002")
88+
assertUpperBound("8.19", "new_tv,7123002")
89+
}
90+
}

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

Lines changed: 2 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
1919
List<String> args = new ArrayList<>()
2020
args.add(":myserver:validateTransportVersionResources")
2121
args.add(":myserver:generateTransportVersion")
22-
args.addAll(additionalArgs);
22+
args.addAll(additionalArgs)
2323
return gradleRunner(args.toArray())
2424
}
2525

2626
def runGenerateTask(String... additionalArgs) {
2727
List<String> args = new ArrayList<>()
2828
args.add(":myserver:generateTransportVersion")
29-
args.addAll(additionalArgs);
29+
args.addAll(additionalArgs)
3030
return gradleRunner(args.toArray())
3131
}
3232

@@ -283,77 +283,6 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
283283
assertUpperBound("9.2", "second_tv,8124000")
284284
}
285285

286-
def "update flag works with current"() {
287-
given:
288-
referableAndReferencedTransportVersion("new_tv", "8123000")
289-
file("myserver/src/main/resources/transport/latest/9.2.csv").text =
290-
"""
291-
<<<<<<< HEAD
292-
existing_92,8123000
293-
=======
294-
new_tv,8123000
295-
>>>>>> name
296-
""".strip()
297-
298-
when:
299-
def result = runGenerateAndValidateTask("--resolve-conflict").build()
300-
301-
then:
302-
assertGenerateAndValidateSuccess(result)
303-
assertReferableDefinition("existing_92", "8123000,8012001")
304-
assertReferableDefinition("new_tv", "8124000")
305-
assertUpperBound("9.2", "new_tv,8124000")
306-
}
307-
308-
def "update flag works with multiple branches"() {
309-
given:
310-
referableAndReferencedTransportVersion("new_tv", "8123000,8012001,7123001")
311-
file("myserver/src/main/resources/transport/latest/9.2.csv").text =
312-
"""
313-
<<<<<<< HEAD
314-
existing_92,8123000
315-
=======
316-
new_tv,8123000
317-
>>>>>> name
318-
""".strip()
319-
file("myserver/src/main/resources/transport/latest/9.1.csv").text =
320-
"""
321-
<<<<<<< HEAD
322-
existing_92,8012001
323-
=======
324-
new_tv,8012001
325-
>>>>>> name
326-
""".strip()
327-
file("myserver/src/main/resources/transport/latest/8.19.csv").text =
328-
"""
329-
<<<<<<< HEAD
330-
initial_8.19.7,7123001
331-
=======
332-
new_tv,7123001
333-
>>>>>> name
334-
""".strip()
335-
336-
when:
337-
def result = runGenerateAndValidateTask("--resolve-conflict").build()
338-
339-
then:
340-
assertGenerateAndValidateSuccess(result)
341-
assertReferableDefinition("existing_92", "8123000,8012001")
342-
assertUnreferableDefinition("initial_8.19.7", "7123001")
343-
assertReferableDefinition("new_tv", "8124000,8012002,7123002")
344-
assertUpperBound("9.2", "new_tv,8124000")
345-
assertUpperBound("9.1", "new_tv,8012002")
346-
assertUpperBound("8.19", "new_tv,7123002")
347-
}
348-
349-
def "update flag cannot be used with backport branches"() {
350-
when:
351-
def result = runGenerateTask("--resolve-conflict", "--backport-branches=9.1").buildAndFail()
352-
353-
then:
354-
assertGenerateFailure(result, "Cannot use --resolve-conflict with --backport-branches")
355-
}
356-
357286
def "branches param order does not matter"() {
358287
given:
359288
referencedTransportVersion("test_tv")

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/transport/GenerateTransportVersionDefinitionTask.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,7 @@ public abstract class GenerateTransportVersionDefinitionTask extends DefaultTask
7474

7575
@Input
7676
@Optional
77-
@Option(
78-
option = "resolve-conflict",
79-
description = "Regenerate the transport version currently being added to upstream to resolve a merge conflict"
80-
)
81-
public abstract Property<Boolean> getResolveConflict();
77+
abstract Property<Boolean> getResolveConflict();
8278

8379
/**
8480
* The name of the upper bounds file which will be used at runtime on the current branch. Normally

docs/changelog/135479.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
pr: 135479
2+
summary: Correctly apply field path to JSON processor when adding contents to document
3+
root
4+
area: Ingest Node
5+
type: bug
6+
issues: []

docs/changelog/135505.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
pr: 135505
2+
summary: Address es819 tsdb doc values format performance bug
3+
area: Codec
4+
type: bug
5+
issues:
6+
- 135340

0 commit comments

Comments
 (0)