Skip to content

Commit 758d26b

Browse files
Merge pull request #169 from elastic/master
🤖 ESQL: Merge upstream
2 parents 6cb3b63 + 4e18993 commit 758d26b

File tree

74 files changed

+1370
-236
lines changed

Some content is hidden

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

74 files changed

+1370
-236
lines changed

build-tools-internal/src/integTest/groovy/org/elasticsearch/gradle/fixtures/LocalRepositoryFixture.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ class LocalRepositoryFixture extends ExternalResource{
5656
repositories {
5757
maven {
5858
name = "local-test"
59-
url = "${getRepoDir()}"
59+
url = "${getRepoDir().toURI()}"
6060
metadataSources {
6161
artifact()
6262
}

build-tools-internal/src/integTest/groovy/org/elasticsearch/gradle/internal/precommit/TestingConventionsPrecommitPluginFuncTest.groovy

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,9 @@ import org.elasticsearch.gradle.fixtures.LocalRepositoryFixture
1313
import org.elasticsearch.gradle.internal.conventions.precommit.PrecommitPlugin
1414
import org.gradle.testkit.runner.TaskOutcome
1515
import org.junit.ClassRule
16-
import org.junit.rules.TemporaryFolder
17-
import spock.lang.IgnoreIf
1816
import spock.lang.Shared
1917
import spock.lang.Unroll
2018

21-
// see https://github.com/elastic/elasticsearch/issues/87913
22-
@IgnoreIf({ os.windows })
2319
class TestingConventionsPrecommitPluginFuncTest extends AbstractGradleInternalPluginFuncTest {
2420

2521
Class<? extends PrecommitPlugin> pluginClassUnderTest = TestingConventionsPrecommitPlugin.class

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,11 +106,12 @@ private static void disableTransitiveDependenciesForSourceSet(Project project, S
106106
*/
107107
public static void configureCompile(Project project) {
108108
project.getExtensions().getExtraProperties().set("compactProfile", "full");
109-
110109
JavaPluginExtension java = project.getExtensions().getByType(JavaPluginExtension.class);
110+
if (BuildParams.getJavaToolChainSpec().isPresent()) {
111+
java.toolchain(BuildParams.getJavaToolChainSpec().get());
112+
}
111113
java.setSourceCompatibility(BuildParams.getMinimumRuntimeVersion());
112114
java.setTargetCompatibility(BuildParams.getMinimumRuntimeVersion());
113-
114115
project.getTasks().withType(JavaCompile.class).configureEach(compileTask -> {
115116
CompileOptions compileOptions = compileTask.getOptions();
116117
/*

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/info/BuildParams.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,10 @@
88
package org.elasticsearch.gradle.internal.info;
99

1010
import org.elasticsearch.gradle.internal.BwcVersions;
11+
import org.gradle.api.Action;
1112
import org.gradle.api.JavaVersion;
1213
import org.gradle.api.provider.Provider;
14+
import org.gradle.jvm.toolchain.JavaToolchainSpec;
1315

1416
import java.io.File;
1517
import java.lang.reflect.Modifier;
@@ -28,6 +30,7 @@ public class BuildParams {
2830
private static JavaVersion minimumRuntimeVersion;
2931
private static JavaVersion gradleJavaVersion;
3032
private static JavaVersion runtimeJavaVersion;
33+
private static Provider<? extends Action<JavaToolchainSpec>> javaToolChainSpec;
3134
private static String runtimeJavaDetails;
3235
private static Boolean inFipsJvm;
3336
private static String gitRevision;
@@ -119,6 +122,10 @@ public static boolean isSnapshotBuild() {
119122
return value(BuildParams.isSnapshotBuild);
120123
}
121124

125+
public static Provider<? extends Action<JavaToolchainSpec>> getJavaToolChainSpec() {
126+
return javaToolChainSpec;
127+
}
128+
122129
private static <T> T value(T object) {
123130
if (object == null) {
124131
String callingMethod = Thread.currentThread().getStackTrace()[2].getMethodName();
@@ -227,5 +234,9 @@ public void setIsSnapshotBuild(final boolean isSnapshotBuild) {
227234
public void setBwcVersions(Provider<BwcVersions> bwcVersions) {
228235
BuildParams.bwcVersions = requireNonNull(bwcVersions);
229236
}
237+
238+
public void setJavaToolChainSpec(Provider<? extends Action<JavaToolchainSpec>> javaToolChain) {
239+
BuildParams.javaToolChainSpec = javaToolChain;
240+
}
230241
}
231242
}

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/info/GlobalBuildInfoPlugin.java

Lines changed: 45 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import org.elasticsearch.gradle.internal.conventions.info.GitInfo;
1313
import org.elasticsearch.gradle.internal.conventions.info.ParallelDetector;
1414
import org.elasticsearch.gradle.internal.conventions.util.Util;
15+
import org.gradle.api.Action;
1516
import org.gradle.api.GradleException;
1617
import org.gradle.api.JavaVersion;
1718
import org.gradle.api.Plugin;
@@ -24,6 +25,9 @@
2425
import org.gradle.internal.jvm.inspection.JvmInstallationMetadata;
2526
import org.gradle.internal.jvm.inspection.JvmMetadataDetector;
2627
import org.gradle.internal.jvm.inspection.JvmVendor;
28+
import org.gradle.jvm.toolchain.JavaLanguageVersion;
29+
import org.gradle.jvm.toolchain.JavaToolchainSpec;
30+
import org.gradle.jvm.toolchain.JvmVendorSpec;
2731
import org.gradle.jvm.toolchain.internal.InstallationLocation;
2832
import org.gradle.jvm.toolchain.internal.JavaInstallationRegistry;
2933
import org.gradle.util.GradleVersion;
@@ -88,12 +92,12 @@ public void apply(Project project) {
8892
BuildParams.init(params -> {
8993
params.reset();
9094
params.setRuntimeJavaHome(runtimeJavaHome);
91-
// TODO: Temporarily hard-code this to 17 until we upgrade to Gradle 7.3 and bump minimumRuntimeVersion
95+
params.setJavaToolChainSpec(resolveToolchainSpecFromEnv());
9296
params.setRuntimeJavaVersion(
9397
determineJavaVersion(
9498
"runtime java.home",
9599
runtimeJavaHome,
96-
isRuntimeJavaHomeSet ? JavaVersion.VERSION_17 : Jvm.current().getJavaVersion()
100+
isRuntimeJavaHomeSet ? minimumRuntimeVersion : Jvm.current().getJavaVersion()
97101
)
98102
);
99103
params.setIsRuntimeJavaHomeSet(isRuntimeJavaHomeSet);
@@ -122,6 +126,19 @@ public void apply(Project project) {
122126
project.getGradle().getTaskGraph().whenReady(graph -> logGlobalBuildInfo());
123127
}
124128

129+
private Provider<MetadataBasedToolChainMatcher> resolveToolchainSpecFromEnv() {
130+
return providers.environmentVariable("JAVA_TOOLCHAIN_HOME").map(toolChainEnvVariable -> {
131+
File toolChainDir = new File(toolChainEnvVariable);
132+
JvmInstallationMetadata metadata = metadataDetector.getMetadata(toolChainDir);
133+
if (metadata.isValidInstallation() == false) {
134+
throw new GradleException(
135+
"Configured JAVA_TOOLCHAIN_HOME " + toolChainEnvVariable + " does not point to a valid jdk installation."
136+
);
137+
}
138+
return new MetadataBasedToolChainMatcher(metadata);
139+
});
140+
}
141+
125142
private String formatJavaVendorDetails(JvmInstallationMetadata runtimeJdkMetaData) {
126143
JvmVendor vendor = runtimeJdkMetaData.getVendor();
127144
return runtimeJdkMetaData.getVendor().getKnownVendor().name() + "/" + vendor.getRawVendor();
@@ -166,6 +183,10 @@ private void logGlobalBuildInfo() {
166183
LOGGER.quiet(" JDK Version : " + gradleJvmImplementationVersion + " (" + gradleJvmVendorDetails + ")");
167184
LOGGER.quiet(" JAVA_HOME : " + gradleJvm.getJavaHome());
168185
}
186+
String javaToolchainHome = System.getenv("JAVA_TOOLCHAIN_HOME");
187+
if (javaToolchainHome != null) {
188+
LOGGER.quiet(" JAVA_TOOLCHAIN_HOME : " + javaToolchainHome);
189+
}
169190
LOGGER.quiet(" Random Testing Seed : " + BuildParams.getTestSeed());
170191
LOGGER.quiet(" In FIPS 140 mode : " + BuildParams.isInFipsJvm());
171192
LOGGER.quiet("=======================================");
@@ -260,8 +281,13 @@ private File findRuntimeJavaHome() {
260281
if (runtimeJavaProperty != null) {
261282
return new File(findJavaHome(runtimeJavaProperty));
262283
}
263-
264-
return System.getenv("RUNTIME_JAVA_HOME") == null ? Jvm.current().getJavaHome() : new File(System.getenv("RUNTIME_JAVA_HOME"));
284+
String env = System.getenv("RUNTIME_JAVA_HOME");
285+
if (env != null) {
286+
return new File(env);
287+
}
288+
// fall back to tool chain if set.
289+
env = System.getenv("JAVA_TOOLCHAIN_HOME");
290+
return env == null ? Jvm.current().getJavaHome() : new File(env);
265291
}
266292

267293
private String findJavaHome(String version) {
@@ -336,4 +362,19 @@ public JvmInstallationMetadata getMetadata(File file) {
336362
}
337363
}
338364

365+
private static class MetadataBasedToolChainMatcher implements Action<JavaToolchainSpec> {
366+
private final JvmVendorSpec expectedVendorSpec;
367+
private final JavaLanguageVersion expectedJavaLanguageVersion;
368+
369+
public MetadataBasedToolChainMatcher(JvmInstallationMetadata metadata) {
370+
expectedVendorSpec = JvmVendorSpec.matching(metadata.getVendor().getRawVendor());
371+
expectedJavaLanguageVersion = JavaLanguageVersion.of(metadata.getLanguageVersion().getMajorVersion());
372+
}
373+
374+
@Override
375+
public void execute(JavaToolchainSpec spec) {
376+
spec.getVendor().set(expectedVendorSpec);
377+
spec.getLanguageVersion().set(expectedJavaLanguageVersion);
378+
}
379+
}
339380
}

build-tools-internal/version.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jackson = 2.13.2
1313
snakeyaml = 1.26
1414
icu4j = 68.2
1515
supercsv = 2.4.0
16-
log4j = 2.17.1
16+
log4j = 2.18.0
1717
slf4j = 1.6.2
1818
ecsLogging = 1.2.0
1919

docs/changelog/88231.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
pr: 88231
2+
summary: Use faster maths to project WGS84 to mercator
3+
area: Geo
4+
type: enhancement
5+
issues: []

docs/changelog/88237.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
pr: 88237
2+
summary: Upgrade to Log4J 2.18.0
3+
area: Infra/Core
4+
type: upgrade
5+
issues: []

docs/reference/transform/apis/get-transform.asciidoc

Lines changed: 25 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
[role="xpack"]
21
[[get-transform]]
32
= Get {transforms} API
43

@@ -98,11 +97,11 @@ GET _transform?size=10
9897
// TEST[skip:setup kibana sample data]
9998

10099
The following example gets configuration information for the
101-
`ecommerce_transform` {transform}:
100+
`ecommerce_transform1` {transform}:
102101

103102
[source,console]
104103
--------------------------------------------------
105-
GET _transform/ecommerce_transform
104+
GET _transform/ecommerce_transform1
106105
--------------------------------------------------
107106
// TEST[skip:setup kibana sample data]
108107

@@ -114,7 +113,14 @@ The API returns the following results:
114113
"count" : 1,
115114
"transforms" : [
116115
{
117-
"id" : "ecommerce_transform",
116+
"id" : "ecommerce_transform1",
117+
"authorization" : {
118+
"roles" : [
119+
"superuser"
120+
]
121+
},
122+
"version" : "8.4.0",
123+
"create_time" : 1656023416565,
118124
"source" : {
119125
"index" : [
120126
"kibana_sample_data_ecommerce"
@@ -128,9 +134,16 @@ The API returns the following results:
128134
}
129135
},
130136
"dest" : {
131-
"index" : "kibana_sample_data_ecommerce_transform"
137+
"index" : "kibana_sample_data_ecommerce_transform1",
138+
"pipeline" : "add_timestamp_pipeline"
139+
},
140+
"frequency" : "5m",
141+
"sync" : {
142+
"time" : {
143+
"field" : "order_date",
144+
"delay" : "60s"
145+
}
132146
},
133-
"frequency": "1m",
134147
"pivot" : {
135148
"group_by" : {
136149
"customer_id" : {
@@ -149,10 +162,13 @@ The API returns the following results:
149162
},
150163
"description" : "Maximum priced ecommerce data by customer_id in Asia",
151164
"settings" : { },
152-
"version" : "7.5.0",
153-
"create_time" : 1576094542936
165+
"retention_policy" : {
166+
"time" : {
167+
"field" : "order_date",
168+
"max_age" : "30d"
169+
}
170+
}
154171
}
155172
]
156173
}
157-
158174
----

docs/reference/transform/apis/update-transform.asciidoc

Lines changed: 41 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -265,49 +265,57 @@ When the {transform} is updated, you receive the updated configuration:
265265
[source,console-result]
266266
----
267267
{
268-
"id": "simple-kibana-ecomm-pivot",
269-
"source": {
270-
"index": ["kibana_sample_data_ecommerce"],
271-
"query": {
272-
"term": {
273-
"geoip.continent_name": {
274-
"value": "Asia"
268+
"id" : "simple-kibana-ecomm-pivot",
269+
"authorization" : {
270+
"roles" : [
271+
"superuser"
272+
]
273+
},
274+
"version" : "8.4.0",
275+
"create_time" : 1656113450613,
276+
"source" : {
277+
"index" : [
278+
"kibana_sample_data_ecommerce"
279+
],
280+
"query" : {
281+
"term" : {
282+
"geoip.continent_name" : {
283+
"value" : "Asia"
275284
}
276285
}
277286
}
278287
},
279-
"pivot": {
280-
"group_by": {
281-
"customer_id": {
282-
"terms": {
283-
"field": "customer_id"
288+
"dest" : {
289+
"index" : "kibana_sample_data_ecommerce_transform_v2",
290+
"pipeline" : "add_timestamp_pipeline"
291+
},
292+
"frequency" : "15m",
293+
"sync" : {
294+
"time" : {
295+
"field" : "order_date",
296+
"delay" : "120s"
297+
}
298+
},
299+
"pivot" : {
300+
"group_by" : {
301+
"customer_id" : {
302+
"terms" : {
303+
"field" : "customer_id"
284304
}
285305
}
286306
},
287-
"aggregations": {
288-
"max_price": {
289-
"max": {
290-
"field": "taxful_total_price"
307+
"aggregations" : {
308+
"max_price" : {
309+
"max" : {
310+
"field" : "taxful_total_price"
291311
}
292312
}
293313
}
294314
},
295-
"description": "Maximum priced ecommerce data by customer_id in Asia",
296-
"dest": {
297-
"index": "kibana_sample_data_ecommerce_transform_v2",
298-
"pipeline": "add_timestamp_pipeline"
299-
},
300-
"frequency": "15m",
301-
"sync": {
302-
"time": {
303-
"field": "order_date",
304-
"delay": "120s"
305-
}
306-
},
307-
"settings": { },
308-
"version": "7.5.0",
309-
"create_time": 1518808660505
315+
"description" : "Maximum priced ecommerce data by customer_id in Asia",
316+
"settings" : { }
310317
}
311318
----
312-
// TESTRESPONSE[s/"version": "7.5.0"/"version": $body.version/]
313-
// TESTRESPONSE[s/"create_time": 1518808660505/"create_time": $body.create_time/]
319+
// TESTRESPONSE[s/"version" : "8.4.0"/"version" : $body.version/]
320+
// TESTRESPONSE[s/"create_time" : 1656113450613/"create_time" : $body.create_time/]
321+
// TESTRESPONSE[s/"authorization" : \{[^}]*\},//]

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,4 @@ systemProp.jdk.tls.client.protocols=TLSv1.2
1616

1717
# java homes resolved by environment variables
1818
org.gradle.java.installations.auto-detect=false
19-
org.gradle.java.installations.fromEnv=JAVA_HOME,RUNTIME_JAVA_HOME,JAVA19_HOME,JAVA18_HOME,JAVA17_HOME,JAVA16_HOME,JAVA15_HOME,JAVA14_HOME,JAVA13_HOME,JAVA12_HOME,JAVA11_HOME,JAVA8_HOME
19+
org.gradle.java.installations.fromEnv=JAVA_TOOLCHAIN_HOME,JAVA_HOME,RUNTIME_JAVA_HOME,JAVA19_HOME,JAVA18_HOME,JAVA17_HOME,JAVA16_HOME,JAVA15_HOME,JAVA14_HOME,JAVA13_HOME,JAVA12_HOME,JAVA11_HOME,JAVA8_HOME

0 commit comments

Comments
 (0)