Skip to content

Commit 2b2781f

Browse files
committed
Merge branch 'main' into mp-rest-tests
2 parents b38bc7f + e74c237 commit 2b2781f

File tree

31 files changed

+1025
-230
lines changed

31 files changed

+1025
-230
lines changed

docs/changelog/126583.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
pr: 126583
2+
summary: Cancel expired async search task when a remote returns its results
3+
area: CCS
4+
type: bug
5+
issues: []

docs/changelog/126840.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
pr: 126840
2+
summary: Fix `PolicyStepsRegistry` cache concurrency issue
3+
area: ILM+SLM
4+
type: bug
5+
issues:
6+
- 118406

muted-tests.yml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -135,9 +135,6 @@ tests:
135135
- class: org.elasticsearch.xpack.test.rest.XPackRestIT
136136
method: test {p0=transform/transforms_unattended/Test unattended put and start}
137137
issue: https://github.com/elastic/elasticsearch/issues/120019
138-
- class: org.elasticsearch.xpack.ilm.actions.SearchableSnapshotActionIT
139-
method: testUpdatePolicyToAddPhasesYieldsInvalidActionsToBeSkipped
140-
issue: https://github.com/elastic/elasticsearch/issues/118406
141138
- class: org.elasticsearch.xpack.security.QueryableReservedRolesIT
142139
method: testConfiguredReservedRolesAfterClosingAndOpeningIndex
143140
issue: https://github.com/elastic/elasticsearch/issues/120127
@@ -414,6 +411,18 @@ tests:
414411
- class: org.elasticsearch.repositories.gcs.GoogleCloudStorageBlobStoreRepositoryTests
415412
method: testWriteReadLarge
416413
issue: https://github.com/elastic/elasticsearch/issues/126903
414+
- class: org.elasticsearch.repositories.gcs.GoogleCloudStorageBlobStoreRepositoryTests
415+
method: testWriteFileMultipleOfChunkSize
416+
issue: https://github.com/elastic/elasticsearch/issues/126908
417+
- class: org.elasticsearch.repositories.gcs.GoogleCloudStorageBlobStoreRepositoryTests
418+
method: testSnapshotWithLargeSegmentFiles
419+
issue: https://github.com/elastic/elasticsearch/issues/126909
420+
- class: org.elasticsearch.index.engine.CompletionStatsCacheTests
421+
method: testCompletionStatsCache
422+
issue: https://github.com/elastic/elasticsearch/issues/126910
423+
- class: org.elasticsearch.xpack.ml.integration.ClassificationHousePricingIT
424+
method: testFeatureImportanceValues
425+
issue: https://github.com/elastic/elasticsearch/issues/124341
417426

418427
# Examples:
419428
#

test/framework/src/main/java/org/elasticsearch/node/MockNode.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99

1010
package org.elasticsearch.node;
1111

12+
import org.elasticsearch.action.search.OnlinePrewarmingService;
13+
import org.elasticsearch.action.search.OnlinePrewarmingServiceProvider;
1214
import org.elasticsearch.client.internal.node.NodeClient;
1315
import org.elasticsearch.cluster.ClusterInfoService;
1416
import org.elasticsearch.cluster.MockInternalClusterInfoService;
@@ -117,6 +119,10 @@ SearchService newSearchService(
117119
tracer
118120
);
119121
}
122+
OnlinePrewarmingService onlinePrewarmingService = pluginsService.loadSingletonServiceProvider(
123+
OnlinePrewarmingServiceProvider.class,
124+
() -> OnlinePrewarmingServiceProvider.DEFAULT
125+
).create(clusterService.getSettings(), threadPool, clusterService);
120126
return new MockSearchService(
121127
clusterService,
122128
indicesService,
@@ -126,7 +132,8 @@ SearchService newSearchService(
126132
fetchPhase,
127133
circuitBreakerService,
128134
executorSelector,
129-
tracer
135+
tracer,
136+
onlinePrewarmingService
130137
);
131138
}
132139

test/framework/src/main/java/org/elasticsearch/search/MockSearchService.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,8 @@ public MockSearchService(
8585
FetchPhase fetchPhase,
8686
CircuitBreakerService circuitBreakerService,
8787
ExecutorSelector executorSelector,
88-
Tracer tracer
88+
Tracer tracer,
89+
OnlinePrewarmingService onlinePrewarmingService
8990
) {
9091
super(
9192
clusterService,
@@ -97,7 +98,7 @@ public MockSearchService(
9798
circuitBreakerService,
9899
executorSelector,
99100
tracer,
100-
OnlinePrewarmingService.NOOP
101+
onlinePrewarmingService
101102
);
102103
}
103104

x-pack/plugin/async-search/src/internalClusterTest/java/org/elasticsearch/xpack/search/CCSUsageTelemetryAsyncSearchIT.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ public void resetSearchListenerPlugin() {
8787
}
8888

8989
private SubmitAsyncSearchRequest makeSearchRequest(String... indices) {
90-
CrossClusterAsyncSearchIT.SearchListenerPlugin.blockQueryPhase();
90+
CrossClusterAsyncSearchIT.SearchListenerPlugin.blockLocalQueryPhase();
9191

9292
SubmitAsyncSearchRequest request = new SubmitAsyncSearchRequest(indices);
9393
request.setCcsMinimizeRoundtrips(randomBoolean());
@@ -220,7 +220,8 @@ public void testCancelledSearch() throws Exception {
220220
String remoteIndex = (String) testClusterInfo.get("remote.index");
221221

222222
SubmitAsyncSearchRequest searchRequest = makeSearchRequest(localIndex, REMOTE1 + ":" + remoteIndex);
223-
CrossClusterAsyncSearchIT.SearchListenerPlugin.blockQueryPhase();
223+
CrossClusterAsyncSearchIT.SearchListenerPlugin.blockLocalQueryPhase();
224+
CrossClusterAsyncSearchIT.SearchListenerPlugin.blockRemoteQueryPhase();
224225

225226
String nodeName = cluster(LOCAL_CLUSTER).getRandomNodeName();
226227
final AsyncSearchResponse response = cluster(LOCAL_CLUSTER).client(nodeName)
@@ -232,7 +233,8 @@ public void testCancelledSearch() throws Exception {
232233
response.decRef();
233234
assertTrue(response.isRunning());
234235
}
235-
CrossClusterAsyncSearchIT.SearchListenerPlugin.waitSearchStarted();
236+
CrossClusterAsyncSearchIT.SearchListenerPlugin.waitLocalSearchStarted();
237+
CrossClusterAsyncSearchIT.SearchListenerPlugin.waitRemoteSearchStarted();
236238

237239
ActionFuture<ListTasksResponse> cancelFuture;
238240
try {
@@ -290,7 +292,8 @@ public void testCancelledSearch() throws Exception {
290292
assertTrue(taskInfo.description(), taskInfo.cancelled());
291293
}
292294
} finally {
293-
CrossClusterAsyncSearchIT.SearchListenerPlugin.allowQueryPhase();
295+
CrossClusterAsyncSearchIT.SearchListenerPlugin.allowLocalQueryPhase();
296+
CrossClusterAsyncSearchIT.SearchListenerPlugin.allowRemoteQueryPhase();
294297
}
295298

296299
assertBusy(() -> assertTrue(cancelFuture.isDone()));
@@ -314,7 +317,7 @@ private CCSTelemetrySnapshot getTelemetrySnapshot(String nodeName) {
314317
}
315318

316319
private Map<String, Object> setupClusters() {
317-
String localIndex = "demo";
320+
String localIndex = "local";
318321
int numShardsLocal = randomIntBetween(2, 10);
319322
Settings localSettings = indexSettings(numShardsLocal, randomIntBetween(0, 1)).build();
320323
assertAcked(
@@ -326,7 +329,7 @@ private Map<String, Object> setupClusters() {
326329
);
327330
indexDocs(client(LOCAL_CLUSTER), localIndex);
328331

329-
String remoteIndex = "prod";
332+
String remoteIndex = "remote";
330333
int numShardsRemote = randomIntBetween(2, 10);
331334
for (String clusterAlias : remoteClusterAlias()) {
332335
final InternalTestCluster remoteCluster = cluster(clusterAlias);

0 commit comments

Comments
 (0)