Skip to content

Commit 4874dfd

Browse files
Merge remote-tracking branch 'elastic/main' into batched-exec-short
2 parents f6f02ad + 35bf0fe commit 4874dfd

File tree

95 files changed

+4638
-2469
lines changed

Some content is hidden

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

95 files changed

+4638
-2469
lines changed

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

-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ private static ListMultimap<Class<?>, String> createLegacyRestTestBasePluginUsag
3636
map.put(LegacyRestTestBasePlugin.class, ":qa:remote-clusters");
3737
map.put(LegacyRestTestBasePlugin.class, ":qa:repository-multi-version");
3838
map.put(LegacyRestTestBasePlugin.class, ":qa:rolling-upgrade-legacy");
39-
map.put(LegacyRestTestBasePlugin.class, ":x-pack:plugin:core");
4039
map.put(LegacyRestTestBasePlugin.class, ":x-pack:plugin:ent-search");
4140
map.put(LegacyRestTestBasePlugin.class, ":x-pack:plugin:fleet");
4241
map.put(LegacyRestTestBasePlugin.class, ":x-pack:plugin:logstash");

docs/changelog/124062.yaml

-5
This file was deleted.

docs/changelog/125404.yaml

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
pr: 125404
2+
summary: Check if the anomaly results index has been rolled over
3+
area: Machine Learning
4+
type: upgrade
5+
issues: []

docs/changelog/125659.yaml

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
pr: 125659
2+
summary: Non existing synonyms sets do not fail shard recovery for indices
3+
area: "Analysis"
4+
type: bug
5+
issues:
6+
- 125603

docs/changelog/125690.yaml

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
pr: 125690
2+
summary: Take double parameter markers for identifiers out of snapshot
3+
area: ES|QL
4+
type: enhancement
5+
issues: []

docs/reference/query-languages/esql/esql-lookup-join.md

+5-3
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ The `LOOKUP JOIN` command adds new columns to a table, with data from {{es}} ind
4242

4343
## Example
4444

45-
`LOOKUP JOIN` has left-join behavior. If no rows match in the looked index, `LOOKUP JOIN` retains the incoming row and adds `null`s. If many rows in the lookedup index match, `LOOKUP JOIN` adds one row per match.
45+
`LOOKUP JOIN` has left-join behavior. If no rows match in the lookup index, `LOOKUP JOIN` retains the incoming row and adds `null`s. If many rows in the lookup index match, `LOOKUP JOIN` adds one row per match.
4646

4747
In this example, we have two sample tables:
4848

@@ -112,7 +112,9 @@ To use `LOOKUP JOIN`, the following requirements must be met:
112112
* Numeric types follow these compatibility rules:
113113
* `short` and `byte` are compatible with `integer` (all represented as `int`)
114114
* `float`, `half_float`, and `scaled_float` are compatible with `double` (all represented as `double`)
115-
* For text fields: You can use text fields on the left-hand side of the join only if they have a `.keyword` subfield
115+
* For text fields: You can only use text fields as the join key on the left-hand side of the join and only if they have a `.keyword` subfield
116+
117+
To obtain a join key with a compatible type, use a [conversion function](/reference/query-languages/esql/esql-functions-operators.md#esql-type-conversion-functions) if needed.
116118

117119
For a complete list of supported data types and their internal representations, see the [Supported Field Types documentation](/reference/query-languages/esql/limitations.md#_supported_types).
118120

@@ -121,7 +123,7 @@ For a complete list of supported data types and their internal representations,
121123
The following are the current limitations with `LOOKUP JOIN`
122124

123125
* Indices in [lookup](/reference/elasticsearch/index-settings/index-modules.md#index-mode-setting) mode are always single-sharded.
124-
* Cross cluster search is unsupported. Both source and lookup indices must be local.
126+
* Cross cluster search is unsupported initially. Both source and lookup indices must be local.
125127
* Currently, only matching on equality is supported.
126128
* `LOOKUP JOIN` can only use a single match field and a single index. Wildcards, aliases, datemath, and datastreams are not supported.
127129
* The name of the match field in `LOOKUP JOIN lu_idx ON match_field` must match an existing field in the query. This may require `RENAME`s or `EVAL`s to achieve.

gradle/verification-metadata.xml

+15-120
Large diffs are not rendered by default.

modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/SynonymTokenFilterFactory.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ public ReaderWithOrigin getRulesReader(SynonymTokenFilterFactory factory, IndexC
7272
);
7373
} else {
7474
reader = new ReaderWithOrigin(
75-
Analysis.getReaderFromIndex(synonymsSet, factory.synonymsManagementAPIService),
75+
Analysis.getReaderFromIndex(synonymsSet, factory.synonymsManagementAPIService, factory.lenient),
7676
"[" + synonymsSet + "] synonyms_set in .synonyms index",
7777
synonymsSet
7878
);

modules/ingest-geoip/src/main/java/org/elasticsearch/ingest/geoip/MaxmindIpDataLookups.java

+238-162
Large diffs are not rendered by default.

modules/repository-gcs/build.gradle

+47-86
Original file line numberDiff line numberDiff line change
@@ -18,44 +18,40 @@ apply plugin: 'elasticsearch.internal-cluster-test'
1818

1919
esplugin {
2020
description = 'The GCS repository plugin adds Google Cloud Storage support for repositories.'
21-
classname = 'org.elasticsearch.repositories.gcs.GoogleCloudStoragePlugin'
21+
classname ='org.elasticsearch.repositories.gcs.GoogleCloudStoragePlugin'
2222
}
2323

2424
dependencies {
25-
// dependencies consistent with 'com.google.cloud:google-cloud-storage-bom:2.50.0'
26-
implementation 'com.google.cloud:google-cloud-storage:2.50.0'
27-
implementation 'com.google.cloud:google-cloud-core:2.53.1'
28-
implementation 'com.google.cloud:google-cloud-core-http:2.53.1'
29-
runtimeOnly 'com.google.guava:guava:33.4.0-jre'
30-
runtimeOnly 'com.google.guava:failureaccess:1.0.2'
31-
runtimeOnly "org.slf4j:slf4j-api:${versions.slf4j}" // 2.0.16 in bom
32-
runtimeOnly "commons-codec:commons-codec:${versions.commonscodec}" // 1.18.0 in bom
33-
implementation 'com.google.api:api-common:2.46.1'
34-
implementation 'com.google.api:gax:2.63.1'
35-
implementation 'org.threeten:threetenbp:1.7.0'
36-
runtimeOnly "com.google.protobuf:protobuf-java-util:${versions.protobuf}" // 3.25.5 in bom
37-
runtimeOnly "com.google.protobuf:protobuf-java:${versions.protobuf}"
38-
runtimeOnly 'com.google.code.gson:gson:2.12.1'
39-
runtimeOnly 'com.google.api.grpc:proto-google-common-protos:2.54.1'
40-
runtimeOnly 'com.google.api.grpc:proto-google-iam-v1:1.49.1'
41-
implementation 'com.google.auth:google-auth-library-credentials:1.33.1'
42-
implementation 'com.google.auth:google-auth-library-oauth2-http:1.33.1'
43-
runtimeOnly "com.google.oauth-client:google-oauth-client:${versions.google_oauth_client}" // 1.37.0 in bom
44-
implementation 'com.google.api-client:google-api-client:2.7.2'
45-
implementation 'com.google.http-client:google-http-client:1.46.3'
46-
runtimeOnly 'com.google.http-client:google-http-client-gson:1.46.3'
47-
runtimeOnly 'com.google.http-client:google-http-client-appengine:1.46.3'
48-
runtimeOnly 'com.google.http-client:google-http-client-jackson2:1.46.3'
49-
runtimeOnly "com.fasterxml.jackson.core:jackson-core:${versions.jackson}" // 2.18.2 in bom
50-
runtimeOnly 'com.google.api:gax-httpjson:2.63.1'
51-
runtimeOnly 'io.opencensus:opencensus-api:0.31.1'
52-
runtimeOnly 'io.opencensus:opencensus-contrib-http-util:0.31.1'
53-
implementation 'com.google.apis:google-api-services-storage:v1-rev20250224-2.0.0'
54-
implementation 'org.checkerframework:checker-qual:3.49.0'
55-
runtimeOnly 'io.opentelemetry:opentelemetry-api:1.47.0'
56-
runtimeOnly 'io.opentelemetry:opentelemetry-context:1.47.0'
57-
runtimeOnly 'com.google.api.grpc:proto-google-cloud-storage-v2:2.50.0'
58-
runtimeOnly 'io.grpc:grpc-api:1.70.0'
25+
api 'com.google.cloud:google-cloud-storage:2.13.1'
26+
api 'com.google.cloud:google-cloud-core:2.8.28'
27+
api 'com.google.cloud:google-cloud-core-http:2.8.28'
28+
runtimeOnly 'com.google.guava:guava:32.0.1-jre'
29+
runtimeOnly 'com.google.guava:failureaccess:1.0.1'
30+
api "commons-logging:commons-logging:${versions.commonslogging}"
31+
api "org.apache.logging.log4j:log4j-1.2-api:${versions.log4j}"
32+
api "commons-codec:commons-codec:${versions.commonscodec}"
33+
api 'com.google.api:api-common:2.3.1'
34+
api 'com.google.api:gax:2.20.1'
35+
api 'org.threeten:threetenbp:1.6.5'
36+
api "com.google.protobuf:protobuf-java-util:${versions.protobuf}"
37+
api "com.google.protobuf:protobuf-java:${versions.protobuf}"
38+
api 'com.google.code.gson:gson:2.10'
39+
api 'com.google.api.grpc:proto-google-common-protos:2.9.6'
40+
api 'com.google.api.grpc:proto-google-iam-v1:1.6.2'
41+
api 'com.google.auth:google-auth-library-credentials:1.11.0'
42+
api 'com.google.auth:google-auth-library-oauth2-http:1.11.0'
43+
api "com.google.oauth-client:google-oauth-client:${versions.google_oauth_client}"
44+
api 'com.google.api-client:google-api-client:2.1.1'
45+
api 'com.google.http-client:google-http-client:1.42.3'
46+
api 'com.google.http-client:google-http-client-gson:1.42.3'
47+
api 'com.google.http-client:google-http-client-appengine:1.42.3'
48+
api 'com.google.http-client:google-http-client-jackson2:1.42.3'
49+
api "com.fasterxml.jackson.core:jackson-core:${versions.jackson}"
50+
api 'com.google.api:gax-httpjson:0.105.1'
51+
api 'io.grpc:grpc-context:1.49.2'
52+
api 'io.opencensus:opencensus-api:0.31.1'
53+
api 'io.opencensus:opencensus-contrib-http-util:0.31.1'
54+
api 'com.google.apis:google-api-services-storage:v1-rev20220705-2.0.0'
5955

6056
testImplementation "org.apache.httpcomponents:httpclient:${versions.httpclient}"
6157
testImplementation "org.apache.httpcomponents:httpcore:${versions.httpcore}"
@@ -66,7 +62,7 @@ dependencies {
6662

6763
restResources {
6864
restApi {
69-
include '_common', 'cluster', 'nodes', 'snapshot', 'indices', 'index', 'bulk', 'count'
65+
include '_common', 'cluster', 'nodes', 'snapshot','indices', 'index', 'bulk', 'count'
7066
}
7167
}
7268

@@ -127,6 +123,11 @@ tasks.named("thirdPartyAudit").configure {
127123
'com.google.appengine.api.urlfetch.HTTPResponse',
128124
'com.google.appengine.api.urlfetch.URLFetchService',
129125
'com.google.appengine.api.urlfetch.URLFetchServiceFactory',
126+
// commons-logging optional dependencies
127+
'org.apache.avalon.framework.logger.Logger',
128+
'org.apache.log.Hierarchy',
129+
'org.apache.log.Logger',
130+
'javax.jms.Message',
130131

131132
// optional apache http client dependencies
132133
'org.apache.http.ConnectionReuseStrategy',
@@ -170,59 +171,19 @@ tasks.named("thirdPartyAudit").configure {
170171
'org.apache.http.protocol.HttpProcessor',
171172
'org.apache.http.protocol.HttpRequestExecutor',
172173

173-
// grpc/proto stuff
174-
'com.google.api.gax.grpc.GrpcCallContext',
175-
'com.google.api.gax.grpc.GrpcCallSettings',
176-
'com.google.api.gax.grpc.GrpcCallSettings$Builder',
177-
'com.google.api.gax.grpc.GrpcInterceptorProvider',
178-
'com.google.api.gax.grpc.GrpcStatusCode',
179-
'com.google.api.gax.grpc.GrpcStubCallableFactory',
180-
'com.google.api.gax.grpc.InstantiatingGrpcChannelProvider',
181-
'com.google.api.gax.grpc.InstantiatingGrpcChannelProvider$Builder',
182-
'com.google.cloud.grpc.GrpcTransportOptions',
183-
'com.google.cloud.grpc.GrpcTransportOptions$Builder',
184-
'com.google.cloud.opentelemetry.metric.GoogleCloudMetricExporter',
185-
'com.google.cloud.opentelemetry.metric.MetricConfiguration',
186-
'com.google.cloud.opentelemetry.metric.MetricConfiguration$Builder',
187-
'com.google.storage.v2.StorageClient',
188-
'com.google.storage.v2.StorageClient$ListBucketsPagedResponse',
189-
'com.google.storage.v2.StorageSettings',
190-
'com.google.storage.v2.StorageSettings$Builder',
191-
'com.google.storage.v2.stub.GrpcStorageStub',
192-
'com.google.storage.v2.stub.StorageStubSettings',
193-
// opentelemetry implementation stuff
194-
'io.grpc.opentelemetry.GrpcOpenTelemetry',
195-
'io.grpc.opentelemetry.GrpcOpenTelemetry$Builder',
196-
'io.grpc.protobuf.ProtoUtils',
197-
'io.opentelemetry.contrib.gcp.resource.GCPResourceProvider',
198-
'io.opentelemetry.sdk.OpenTelemetrySdk',
199-
'io.opentelemetry.sdk.OpenTelemetrySdkBuilder',
200-
'io.opentelemetry.sdk.common.CompletableResultCode',
201-
'io.opentelemetry.sdk.common.export.MemoryMode',
202-
'io.opentelemetry.sdk.metrics.Aggregation',
203-
'io.opentelemetry.sdk.metrics.InstrumentSelector',
204-
'io.opentelemetry.sdk.metrics.InstrumentSelectorBuilder',
205-
'io.opentelemetry.sdk.metrics.InstrumentType',
206-
'io.opentelemetry.sdk.metrics.SdkMeterProvider',
207-
'io.opentelemetry.sdk.metrics.SdkMeterProviderBuilder',
208-
'io.opentelemetry.sdk.metrics.View',
209-
'io.opentelemetry.sdk.metrics.ViewBuilder',
210-
'io.opentelemetry.sdk.metrics.data.AggregationTemporality',
211-
'io.opentelemetry.sdk.metrics.export.DefaultAggregationSelector',
212-
'io.opentelemetry.sdk.metrics.export.MetricExporter',
213-
'io.opentelemetry.sdk.metrics.export.PeriodicMetricReader',
214-
'io.opentelemetry.sdk.metrics.export.PeriodicMetricReaderBuilder',
215-
'io.opentelemetry.sdk.resources.Resource',
174+
// commons-logging provided dependencies
175+
'javax.servlet.ServletContextEvent',
176+
'javax.servlet.ServletContextListener'
216177
)
217178

218179

219-
if (buildParams.graalVmRuntime == false) {
180+
if(buildParams.graalVmRuntime == false) {
220181
ignoreMissingClasses(
221-
'org.graalvm.nativeimage.hosted.Feature',
222-
'org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess',
223-
'org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess',
224-
'org.graalvm.nativeimage.hosted.Feature$FeatureAccess',
225-
'org.graalvm.nativeimage.hosted.RuntimeReflection'
182+
'org.graalvm.nativeimage.hosted.Feature',
183+
'org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess',
184+
'org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess',
185+
'org.graalvm.nativeimage.hosted.Feature$FeatureAccess',
186+
'org.graalvm.nativeimage.hosted.RuntimeReflection'
226187
)
227188
}
228189
}
@@ -252,7 +213,7 @@ Map<String, Object> expansions = [
252213

253214
tasks.named("processYamlRestTestResources").configure {
254215
inputs.properties(expansions)
255-
filter("tokens": expansions, ReplaceTokens.class)
216+
filter("tokens" : expansions, ReplaceTokens.class)
256217
}
257218

258219
tasks.named("internalClusterTest").configure {

modules/repository-gcs/licenses/checker-qual-LICENSE.txt

-22
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
Apache Commons CLI
2+
Copyright 2001-2009 The Apache Software Foundation
3+
4+
This product includes software developed by
5+
The Apache Software Foundation (http://www.apache.org/).

modules/repository-gcs/licenses/grpc-api-NOTICE.txt

Whitespace-only changes.

modules/repository-gcs/licenses/opentelemetry-context-LICENSE.txt renamed to modules/repository-gcs/licenses/log4j-LICENSE.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
12
Apache License
23
Version 2.0, January 2004
34
http://www.apache.org/licenses/
@@ -186,7 +187,7 @@
186187
same "printed page" as the copyright notice for easier
187188
identification within third-party archives.
188189

189-
Copyright [yyyy] [name of copyright owner]
190+
Copyright 1999-2005 The Apache Software Foundation
190191

191192
Licensed under the Apache License, Version 2.0 (the "License");
192193
you may not use this file except in compliance with the License.
@@ -199,4 +200,3 @@
199200
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200201
See the License for the specific language governing permissions and
201202
limitations under the License.
202-
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
Apache Log4j
2+
Copyright 1999-2023 Apache Software Foundation
3+
4+
This product includes software developed at
5+
The Apache Software Foundation (http://www.apache.org/).
6+
7+
ResolverUtil.java
8+
Copyright 2005-2006 Tim Fennell
9+
10+
Dumbster SMTP test server
11+
Copyright 2004 Jason Paul Kitchen
12+
13+
TypeUtil.java
14+
Copyright 2002-2012 Ramnivas Laddad, Juergen Hoeller, Chris Beams
15+
16+
picocli (http://picocli.info)
17+
Copyright 2017 Remko Popma
18+
19+
TimeoutBlockingWaitStrategy.java and parts of Util.java
20+
Copyright 2011 LMAX Ltd.

modules/repository-gcs/licenses/opentelemetry-api-NOTICE.txt

Whitespace-only changes.

modules/repository-gcs/licenses/opentelemetry-context-NOTICE.txt

Whitespace-only changes.

modules/repository-gcs/licenses/slf4j-api-LICENSE.txt

-21
This file was deleted.

modules/repository-gcs/licenses/slf4j-api-NOTICE.txt

Whitespace-only changes.

modules/repository-gcs/src/main/java/org/elasticsearch/repositories/gcs/GoogleCloudStorageBlobStore.java

+3-13
Original file line numberDiff line numberDiff line change
@@ -75,9 +75,9 @@
7575
class GoogleCloudStorageBlobStore implements BlobStore {
7676

7777
/**
78-
* see {@link com.google.cloud.storage.BaseStorageWriteChannel#chunkSize}
78+
* see com.google.cloud.BaseWriteChannel#DEFAULT_CHUNK_SIZE
7979
*/
80-
static final int SDK_DEFAULT_CHUNK_SIZE = Math.toIntExact(ByteSizeValue.ofMb(16).getBytes());
80+
static final int SDK_DEFAULT_CHUNK_SIZE = 60 * 256 * 1024;
8181

8282
private static final Logger logger = LogManager.getLogger(GoogleCloudStorageBlobStore.class);
8383

@@ -652,17 +652,7 @@ private static final class WritableBlobChannel implements WritableByteChannel {
652652
@SuppressForbidden(reason = "channel is based on a socket")
653653
@Override
654654
public int write(final ByteBuffer src) throws IOException {
655-
try {
656-
return SocketAccess.doPrivilegedIOException(() -> channel.write(src));
657-
} catch (IOException e) {
658-
// BaseStorageWriteChannel#write wraps StorageException in an IOException, but BaseStorageWriteChannel#close
659-
// does not, if we unwrap StorageExceptions here, it simplifies our retry-on-gone logic
660-
final StorageException storageException = (StorageException) ExceptionsHelper.unwrap(e, StorageException.class);
661-
if (storageException != null) {
662-
throw storageException;
663-
}
664-
throw e;
665-
}
655+
return SocketAccess.doPrivilegedIOException(() -> channel.write(src));
666656
}
667657

668658
@Override

modules/repository-gcs/src/main/java/org/elasticsearch/repositories/gcs/GoogleCloudStorageService.java

-5
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@
4141
import java.io.InputStreamReader;
4242
import java.net.HttpURLConnection;
4343
import java.net.Proxy;
44-
import java.net.SocketException;
4544
import java.net.URI;
4645
import java.net.URL;
4746
import java.net.UnknownHostException;
@@ -276,10 +275,6 @@ protected StorageRetryStrategy getRetryStrategy() {
276275
if (ExceptionsHelper.unwrap(prevThrowable, UnknownHostException.class) != null) {
277276
return true;
278277
}
279-
// Also retry on `SocketException`s
280-
if (ExceptionsHelper.unwrap(prevThrowable, SocketException.class) != null) {
281-
return true;
282-
}
283278
return delegate.shouldRetry(prevThrowable, prevResponse);
284279
}
285280
);

0 commit comments

Comments
 (0)