Skip to content

Commit 9227dc7

Browse files
committed
Merge remote-tracking branch 'origin/main' into feature/esql-knn-function-minimal-support
2 parents a258820 + 696ff89 commit 9227dc7

File tree

86 files changed

+1871
-646
lines changed

Some content is hidden

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

86 files changed

+1871
-646
lines changed

docs/changelog/128736.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
pr: 128736
2+
summary: Add `index.lifecycle.skip` index-scoped setting to instruct ILM to skip processing specific indices
3+
area: ILM+SLM
4+
type: enhancement
5+
issues: []

docs/changelog/128848.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
pr: 128848
2+
summary: Add `bucketedSort` based on int
3+
area: Search
4+
type: enhancement
5+
issues: []

docs/reference/elasticsearch/index-settings/index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,5 @@ Settings are available for the following modules:
3434
Configure the backing indices in a time series data stream (TSDS).
3535
* [Translog](translog.md)
3636
Control the transaction log and background flush operations.
37+
38+
There are also index settings associated with [text analysis](docs-content://manage-data/data-store/text-analysis.md), which define analyzers, tokenizers, token filters, and character filters.

muted-tests.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -552,6 +552,21 @@ tests:
552552
- class: org.elasticsearch.xpack.esql.qa.mixed.EsqlClientYamlIT
553553
method: test {p0=esql/190_lookup_join/alias-pattern-single}
554554
issue: https://github.com/elastic/elasticsearch/issues/128855
555+
- class: org.elasticsearch.xpack.esql.qa.mixed.EsqlClientYamlIT
556+
method: test {p0=esql/191_lookup_join_on_datastreams/data streams supported in LOOKUP JOIN}
557+
issue: https://github.com/elastic/elasticsearch/issues/128856
558+
- class: org.elasticsearch.upgrades.IndexSortUpgradeIT
559+
method: testIndexSortForNumericTypes {upgradedNodes=3}
560+
issue: https://github.com/elastic/elasticsearch/issues/128861
561+
- class: org.elasticsearch.upgrades.IndexSortUpgradeIT
562+
method: testIndexSortForNumericTypes {upgradedNodes=1}
563+
issue: https://github.com/elastic/elasticsearch/issues/128862
564+
- class: org.elasticsearch.upgrades.IndexSortUpgradeIT
565+
method: testIndexSortForNumericTypes {upgradedNodes=2}
566+
issue: https://github.com/elastic/elasticsearch/issues/128863
567+
- class: org.elasticsearch.packaging.test.DockerTests
568+
method: test150MachineDependentHeap
569+
issue: https://github.com/elastic/elasticsearch/issues/128120
555570

556571
# Examples:
557572
#

server/src/main/java/module-info.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
*/
99

1010
import org.elasticsearch.plugins.internal.RestExtension;
11+
import org.elasticsearch.reservedstate.ReservedStateHandlerProvider;
1112

1213
/** The Elasticsearch Server Module. */
1314
module org.elasticsearch.server {
@@ -411,7 +412,7 @@
411412
org.elasticsearch.index.shard.ShardToolCliProvider;
412413

413414
uses org.elasticsearch.reservedstate.service.FileSettingsServiceProvider;
414-
uses org.elasticsearch.reservedstate.ReservedClusterStateHandlerProvider;
415+
uses ReservedStateHandlerProvider;
415416
uses org.elasticsearch.jdk.ModuleQualifiedExportsService;
416417
uses org.elasticsearch.node.internal.TerminationHandlerProvider;
417418
uses org.elasticsearch.internal.VersionExtension;

server/src/main/java/org/elasticsearch/TransportVersions.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,7 @@ static TransportVersion def(int id) {
279279
public static final TransportVersion ESQL_REGEX_MATCH_WITH_CASE_INSENSITIVITY = def(9_086_0_00);
280280
public static final TransportVersion IDP_CUSTOM_SAML_ATTRIBUTES = def(9_087_0_00);
281281
public static final TransportVersion JOIN_ON_ALIASES = def(9_088_0_00);
282+
public static final TransportVersion ILM_ADD_SKIP_SETTING = def(9_089_0_00);
282283

283284
/*
284285
* STOP! READ THIS FIRST! No, really,

server/src/main/java/org/elasticsearch/action/ActionModule.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -211,9 +211,7 @@
211211
import org.elasticsearch.action.termvectors.TransportTermVectorsAction;
212212
import org.elasticsearch.action.update.TransportUpdateAction;
213213
import org.elasticsearch.client.internal.node.NodeClient;
214-
import org.elasticsearch.cluster.ClusterState;
215214
import org.elasticsearch.cluster.metadata.IndexNameExpressionResolver;
216-
import org.elasticsearch.cluster.metadata.ProjectMetadata;
217215
import org.elasticsearch.cluster.node.DiscoveryNodes;
218216
import org.elasticsearch.cluster.project.ProjectIdResolver;
219217
import org.elasticsearch.cluster.routing.RerouteService;
@@ -254,6 +252,7 @@
254252
import org.elasticsearch.repositories.VerifyNodeRepositoryAction;
255253
import org.elasticsearch.repositories.VerifyNodeRepositoryCoordinationAction;
256254
import org.elasticsearch.reservedstate.ReservedClusterStateHandler;
255+
import org.elasticsearch.reservedstate.ReservedProjectStateHandler;
257256
import org.elasticsearch.reservedstate.service.ReservedClusterStateService;
258257
import org.elasticsearch.rest.RestController;
259258
import org.elasticsearch.rest.RestHandler;
@@ -474,8 +473,8 @@ public ActionModule(
474473
TelemetryProvider telemetryProvider,
475474
ClusterService clusterService,
476475
RerouteService rerouteService,
477-
List<ReservedClusterStateHandler<ClusterState, ?>> reservedClusterStateHandlers,
478-
List<ReservedClusterStateHandler<ProjectMetadata, ?>> reservedProjectStateHandlers,
476+
List<ReservedClusterStateHandler<?>> reservedClusterStateHandlers,
477+
List<ReservedProjectStateHandler<?>> reservedProjectStateHandlers,
479478
RestExtension restExtension,
480479
IncrementalBulkService bulkService,
481480
ProjectIdResolver projectIdResolver

server/src/main/java/org/elasticsearch/action/admin/cluster/repositories/reservedstate/ReservedRepositoryAction.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
* It is used by the ReservedClusterStateService to add/update or remove snapshot repositories. Typical usage
3535
* for this action is in the context of file based settings.
3636
*/
37-
public class ReservedRepositoryAction implements ReservedClusterStateHandler<ClusterState, List<PutRepositoryRequest>> {
37+
public class ReservedRepositoryAction implements ReservedClusterStateHandler<List<PutRepositoryRequest>> {
3838
public static final String NAME = "snapshot_repositories";
3939

4040
private final RepositoriesService repositoriesService;
@@ -67,8 +67,7 @@ public Collection<PutRepositoryRequest> prepare(Object input) {
6767
}
6868

6969
@Override
70-
public TransformState<ClusterState> transform(List<PutRepositoryRequest> source, TransformState<ClusterState> prevState)
71-
throws Exception {
70+
public TransformState transform(List<PutRepositoryRequest> source, TransformState prevState) throws Exception {
7271
var requests = prepare(source);
7372

7473
ClusterState state = prevState.state();
@@ -88,7 +87,7 @@ public TransformState<ClusterState> transform(List<PutRepositoryRequest> source,
8887
state = task.execute(state);
8988
}
9089

91-
return new TransformState<>(state, entities);
90+
return new TransformState(state, entities);
9291

9392
}
9493

server/src/main/java/org/elasticsearch/action/admin/indices/template/reservedstate/ReservedComposableIndexTemplateAction.java

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,16 @@
1212
import org.elasticsearch.action.admin.indices.template.put.PutComponentTemplateAction;
1313
import org.elasticsearch.action.admin.indices.template.put.TransportPutComponentTemplateAction;
1414
import org.elasticsearch.action.admin.indices.template.put.TransportPutComposableIndexTemplateAction;
15+
import org.elasticsearch.cluster.ClusterState;
1516
import org.elasticsearch.cluster.metadata.ComponentTemplate;
1617
import org.elasticsearch.cluster.metadata.ComposableIndexTemplate;
1718
import org.elasticsearch.cluster.metadata.MetadataIndexTemplateService;
19+
import org.elasticsearch.cluster.metadata.ProjectId;
1820
import org.elasticsearch.cluster.metadata.ProjectMetadata;
1921
import org.elasticsearch.common.settings.IndexScopedSettings;
2022
import org.elasticsearch.common.util.set.Sets;
2123
import org.elasticsearch.reservedstate.ReservedClusterStateHandler;
24+
import org.elasticsearch.reservedstate.ReservedProjectStateHandler;
2225
import org.elasticsearch.reservedstate.TransformState;
2326
import org.elasticsearch.xcontent.XContentParser;
2427
import org.elasticsearch.xcontent.XContentParserConfiguration;
@@ -45,7 +48,7 @@
4548
*/
4649
public class ReservedComposableIndexTemplateAction
4750
implements
48-
ReservedClusterStateHandler<ProjectMetadata, ReservedComposableIndexTemplateAction.ComponentsAndComposables> {
51+
ReservedProjectStateHandler<ReservedComposableIndexTemplateAction.ComponentsAndComposables> {
4952
public static final String NAME = "index_templates";
5053
public static final String COMPONENTS = "component_templates";
5154
private static final String COMPONENT_PREFIX = "component_template:";
@@ -133,10 +136,10 @@ private ComponentsAndComposables prepare(ComponentsAndComposables componentsAndC
133136
}
134137

135138
@Override
136-
public TransformState<ProjectMetadata> transform(ComponentsAndComposables source, TransformState<ProjectMetadata> prevState)
137-
throws Exception {
139+
public TransformState transform(ProjectId projectId, ComponentsAndComposables source, TransformState prevState) throws Exception {
138140
var requests = prepare(source);
139-
ProjectMetadata project = prevState.state();
141+
ClusterState clusterState = prevState.state();
142+
ProjectMetadata project = clusterState.getMetadata().getProject(projectId);
140143

141144
// We transform in the following order:
142145
// 1. create or update component templates (composable templates depend on them)
@@ -192,7 +195,10 @@ public TransformState<ProjectMetadata> transform(ComponentsAndComposables source
192195
project = MetadataIndexTemplateService.innerRemoveComponentTemplate(project, componentNames);
193196
}
194197

195-
return new TransformState<>(project, Sets.union(componentEntities, composableEntities));
198+
return new TransformState(
199+
ClusterState.builder(clusterState).putProjectMetadata(project).build(),
200+
Sets.union(componentEntities, composableEntities)
201+
);
196202
}
197203

198204
@Override

server/src/main/java/org/elasticsearch/action/ingest/ReservedPipelineAction.java

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,13 @@
1010
package org.elasticsearch.action.ingest;
1111

1212
import org.elasticsearch.ElasticsearchGenerationException;
13+
import org.elasticsearch.cluster.ClusterState;
14+
import org.elasticsearch.cluster.metadata.ProjectId;
1315
import org.elasticsearch.cluster.metadata.ProjectMetadata;
1416
import org.elasticsearch.common.bytes.BytesReference;
1517
import org.elasticsearch.ingest.IngestMetadata;
1618
import org.elasticsearch.ingest.IngestService;
17-
import org.elasticsearch.reservedstate.ReservedClusterStateHandler;
19+
import org.elasticsearch.reservedstate.ReservedProjectStateHandler;
1820
import org.elasticsearch.reservedstate.TransformState;
1921
import org.elasticsearch.xcontent.XContentBuilder;
2022
import org.elasticsearch.xcontent.XContentFactory;
@@ -36,7 +38,7 @@
3638
* It is used by the ReservedClusterStateService to add/update or remove ingest pipelines. Typical usage
3739
* for this action is in the context of file based state.
3840
*/
39-
public class ReservedPipelineAction implements ReservedClusterStateHandler<ProjectMetadata, List<PutPipelineRequest>> {
41+
public class ReservedPipelineAction implements ReservedProjectStateHandler<List<PutPipelineRequest>> {
4042
public static final String NAME = "ingest_pipelines";
4143

4244
/**
@@ -78,21 +80,21 @@ private static ProjectMetadata wrapIngestTaskExecute(IngestService.PipelineClust
7880
}
7981

8082
@Override
81-
public TransformState<ProjectMetadata> transform(List<PutPipelineRequest> source, TransformState<ProjectMetadata> prevState)
82-
throws Exception {
83+
public TransformState transform(ProjectId projectId, List<PutPipelineRequest> source, TransformState prevState) throws Exception {
8384
var requests = prepare(source);
8485

85-
ProjectMetadata state = prevState.state();
86+
ClusterState clusterState = prevState.state();
87+
ProjectMetadata projectMetadata = clusterState.metadata().getProject(projectId);
8688

8789
for (var request : requests) {
88-
var nopUpdate = IngestService.isNoOpPipelineUpdate(state, request);
90+
var nopUpdate = IngestService.isNoOpPipelineUpdate(projectMetadata, request);
8991

9092
if (nopUpdate) {
9193
continue;
9294
}
9395

94-
var task = new IngestService.PutPipelineClusterStateUpdateTask(state.id(), request);
95-
state = wrapIngestTaskExecute(task, state);
96+
var task = new IngestService.PutPipelineClusterStateUpdateTask(projectMetadata.id(), request);
97+
projectMetadata = wrapIngestTaskExecute(task, projectMetadata);
9698
}
9799

98100
Set<String> entities = requests.stream().map(PutPipelineRequest::getId).collect(Collectors.toSet());
@@ -102,18 +104,18 @@ public TransformState<ProjectMetadata> transform(List<PutPipelineRequest> source
102104

103105
for (var pipelineToDelete : toDelete) {
104106
var task = new IngestService.DeletePipelineClusterStateUpdateTask(
105-
state.id(),
107+
projectMetadata.id(),
106108
null,
107109
new DeletePipelineRequest(
108110
RESERVED_CLUSTER_STATE_HANDLER_IGNORED_TIMEOUT,
109111
RESERVED_CLUSTER_STATE_HANDLER_IGNORED_TIMEOUT,
110112
pipelineToDelete
111113
)
112114
);
113-
state = wrapIngestTaskExecute(task, state);
115+
projectMetadata = wrapIngestTaskExecute(task, projectMetadata);
114116
}
115117

116-
return new TransformState<>(state, entities);
118+
return new TransformState(ClusterState.builder(clusterState).putProjectMetadata(projectMetadata).build(), entities);
117119
}
118120

119121
@Override

0 commit comments

Comments
 (0)