Skip to content

Commit d2a302b

Browse files
Merge remote-tracking branch 'upstream/main' into lookupWarning
2 parents d606284 + 84292c6 commit d2a302b

File tree

100 files changed

+2601
-992
lines changed

Some content is hidden

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

100 files changed

+2601
-992
lines changed

docs/changelog/143433.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
area: Codec
2+
issues: []
3+
pr: 143433
4+
summary: Rewrite `*substring*` wildcard queries to contains term queries for binary
5+
doc values keywords
6+
type: enhancement

docs/changelog/143533.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
area: Mapping
2+
issues:
3+
- 109539
4+
pr: 143533
5+
summary: Date fields with ignore malformed do not ignore object and array values
6+
type: bug

docs/reference/elasticsearch/index-lifecycle-actions/ilm-wait-for-snapshot.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ mapped_pages:
77

88
Phases allowed: delete.
99

10-
Waits for the specified {{slm-init}} policy to be executed before removing the index. This ensures that a snapshot of the deleted index is available.
10+
Waits for the specified {{slm-init}} policy to be executed before removing the index.
11+
This only checks that an SLM policy has had a successful execution at some point after the wait action has started.
12+
It does not ensure that a snapshot of the index is available before deletion.
1113

1214
## Options [ilm-wait-for-snapshot-options]
1315

docs/reference/enrich-processor/geoip-processor.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -214,8 +214,7 @@ If you can’t [automatically update](#geoip-automatic-updates) your IP geolocat
214214
* [Use a custom endpoint](#use-custom-geoip-endpoint)
215215
* [Manually update your IP geolocation databases](#manually-update-geoip-databases)
216216

217-
$$$use-proxy-geoip-endpoint$$$
218-
**Use a reverse proxy endpoint**
217+
### Use a reverse proxy endpoint [use-proxy-geoip-endpoint]
219218

220219
If you can’t connect directly to the Elastic GeoIP endpoint, consider setting up a secure reverse proxy. You can then specify the reverse proxy endpoint URL in the [`ingest.geoip.downloader.endpoint`](#ingest-geoip-downloader-endpoint) setting of each node’s `elasticsearch.yml` file.
221220

@@ -228,8 +227,7 @@ In a strict setup the following domains may need to be added to the allowed doma
228227
* `geoip.elastic.co`
229228
* `storage.googleapis.com`
230229

231-
$$$use-custom-geoip-endpoint$$$
232-
**Use a custom endpoint**
230+
### Use a custom endpoint [use-custom-geoip-endpoint]
233231

234232
You can create a service that mimics the Elastic GeoIP endpoint. You can then get automatic updates from this service.
235233

@@ -252,8 +250,7 @@ You can create a service that mimics the Elastic GeoIP endpoint. You can then ge
252250
By default, {{es}} checks the endpoint for updates every three days. To use another polling interval, use the [cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings) to set [`ingest.geoip.downloader.poll.interval`](#ingest-geoip-downloader-poll-interval).
253251

254252

255-
$$$manually-update-geoip-databases$$$
256-
**Manually update your IP geolocation databases**
253+
### Manually update your IP geolocation databases [manually-update-geoip-databases]
257254

258255
1. Use the [cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings) to set `ingest.geoip.downloader.enabled` to `false`. This disables automatic updates that may overwrite your database changes. This also deletes all downloaded databases.
259256
2. Download your `.mmdb` database files from the [MaxMind site](http://dev.maxmind.com/geoip/geoip2/geolite2).
@@ -264,7 +261,11 @@ $$$manually-update-geoip-databases$$$
264261
4. On self-managed deployments copy the database files to `$ES_CONFIG/ingest-geoip`.
265262
5. In your `geoip` processors, configure the `database_file` parameter to use a custom database file.
266263

267-
### Node Settings [ingest-geoip-settings]
264+
### Troubleshooting geolocation database updates
265+
266+
{{es}} ensures that only one node in the cluster downloads geolocation database updates at once. The node responsible for each download will record messages in its logs if it encounters any problems during the download. When troubleshooting problems with geolocation database updates, consult the logs from all the nodes in the cluster to gather accurate troubleshooting information.
267+
268+
## Node Settings [ingest-geoip-settings]
268269

269270
The `geoip` processor supports the following setting:
270271

@@ -274,7 +275,7 @@ The `geoip` processor supports the following setting:
274275
Note that these settings are node settings and apply to all `geoip` and `ip_location` processors, i.e. there is a single cache for all such processors.
275276

276277

277-
### Cluster settings [geoip-cluster-settings]
278+
## Cluster settings [geoip-cluster-settings]
278279

279280
$$$ingest-geoip-downloader-enabled$$$
280281

libs/entitlement/qa/entitlement-test-plugin/build.gradle

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,8 @@ tasks.withType(CheckForbiddenApisTask).configureEach {
3636
replaceSignatureFiles 'jdk-signatures'
3737
}
3838

39+
// ASM bundled with forbidden-apis cannot parse JDK 26+ class files
40+
tasks.matching { it instanceof CheckForbiddenApisTask && it.name == 'forbiddenApisMain26' }.configureEach {
41+
exclude 'org/elasticsearch/entitlement/qa/test/StructuredTaskScopeActions.class'
42+
}
43+

libs/entitlement/qa/entitlement-test-plugin/src/main/java/org/elasticsearch/entitlement/qa/test/RestEntitlementsCheckAction.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ record CheckAction(
5656
JvmActions.class,
5757
LoadNativeLibrariesCheckActions.class,
5858
ManageThreadsActions.class,
59+
StructuredTaskScopeActions.class,
5960
NativeActions.class,
6061
NetworkAccessCheckActions.class,
6162
NioChannelsActions.class,
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
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.entitlement.qa.test;
11+
12+
import java.util.concurrent.StructuredTaskScope;
13+
14+
import static org.elasticsearch.entitlement.qa.test.EntitlementTest.ExpectedAccess.PLUGINS;
15+
16+
@SuppressWarnings({ "unused" /* called via reflection */, "removal" })
17+
class StructuredTaskScopeActions {
18+
private StructuredTaskScopeActions() {}
19+
20+
@EntitlementTest(expectedAccess = PLUGINS)
21+
static void java_util_concurrent_StructuredTaskScope$$init() {
22+
try (var scope = new StructuredTaskScope<>()) {
23+
// opening and closing is enough to test the entitlement check
24+
}
25+
}
26+
27+
@EntitlementTest(expectedAccess = PLUGINS)
28+
static void java_util_concurrent_StructuredTaskScope$$init_String_ThreadFactory() {
29+
try (var scope = new StructuredTaskScope<>("test", Thread.ofVirtual().factory())) {
30+
// opening and closing is enough to test the entitlement check
31+
}
32+
}
33+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
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.entitlement.qa.test;
11+
12+
import java.util.concurrent.StructuredTaskScope;
13+
14+
import static org.elasticsearch.entitlement.qa.test.EntitlementTest.ExpectedAccess.PLUGINS;
15+
16+
@SuppressWarnings({ "unused" /* called via reflection */ })
17+
class StructuredTaskScopeActions {
18+
private StructuredTaskScopeActions() {}
19+
20+
@EntitlementTest(expectedAccess = PLUGINS)
21+
static void java_util_concurrent_StructuredTaskScope$open() throws Exception {
22+
try (var scope = StructuredTaskScope.open()) {
23+
// opening and closing is enough to test the entitlement check
24+
}
25+
}
26+
27+
@EntitlementTest(expectedAccess = PLUGINS)
28+
static void java_util_concurrent_StructuredTaskScope$open_Joiner() throws Exception {
29+
try (var scope = StructuredTaskScope.open(StructuredTaskScope.Joiner.awaitAll())) {
30+
// opening and closing is enough to test the entitlement check
31+
}
32+
}
33+
34+
@EntitlementTest(expectedAccess = PLUGINS)
35+
static void java_util_concurrent_StructuredTaskScope$open_Joiner_Function() throws Exception {
36+
try (var scope = StructuredTaskScope.open(StructuredTaskScope.Joiner.awaitAll(), cf -> cf)) {
37+
// opening and closing is enough to test the entitlement check
38+
}
39+
}
40+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
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.entitlement.qa.test;
11+
12+
import java.util.concurrent.StructuredTaskScope;
13+
14+
import static org.elasticsearch.entitlement.qa.test.EntitlementTest.ExpectedAccess.PLUGINS;
15+
16+
@SuppressWarnings({ "unused" /* called via reflection */ })
17+
class StructuredTaskScopeActions {
18+
private StructuredTaskScopeActions() {}
19+
20+
@EntitlementTest(expectedAccess = PLUGINS)
21+
static void java_util_concurrent_StructuredTaskScope$open() throws Exception {
22+
try (var scope = StructuredTaskScope.open()) {
23+
// opening and closing is enough to test the entitlement check
24+
}
25+
}
26+
27+
@EntitlementTest(expectedAccess = PLUGINS)
28+
static void java_util_concurrent_StructuredTaskScope$open_Joiner() throws Exception {
29+
try (var scope = StructuredTaskScope.open(StructuredTaskScope.Joiner.awaitAll())) {
30+
// opening and closing is enough to test the entitlement check
31+
}
32+
}
33+
34+
@EntitlementTest(expectedAccess = PLUGINS)
35+
static void java_util_concurrent_StructuredTaskScope$open_Joiner_UnaryOperator() throws Exception {
36+
try (var scope = StructuredTaskScope.open(StructuredTaskScope.Joiner.awaitAll(), cf -> cf)) {
37+
// opening and closing is enough to test the entitlement check
38+
}
39+
}
40+
}

libs/entitlement/src/main/java/org/elasticsearch/entitlement/config/MainInstrumentationProvider.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@ public void init(InternalInstrumentationRegistry registry) {
2828
new SecurityInstrumentation(),
2929
new SelectorProviderInstrumentation(),
3030
new SystemInstrumentation(),
31-
new ThreadInstrumentation()
31+
new ThreadInstrumentation(),
32+
new StructuredTaskScopeInstrumentation()
3233
).forEach(config -> config.init(registry));
3334
}
3435
}

0 commit comments

Comments
 (0)