Skip to content

Commit 1e00b6a

Browse files
committed
Merge remote-tracking branch 'upstream/main' into match-only-text-fix-index-version-test
2 parents c047e5c + 72b5c01 commit 1e00b6a

File tree

9 files changed

+43
-81
lines changed

9 files changed

+43
-81
lines changed

muted-tests.yml

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -485,9 +485,6 @@ tests:
485485
- class: org.elasticsearch.xpack.ml.integration.ClassificationIT
486486
method: testWithDatastreams
487487
issue: https://github.com/elastic/elasticsearch/issues/129457
488-
- class: org.elasticsearch.index.engine.ThreadPoolMergeExecutorServiceDiskSpaceTests
489-
method: testMergeTasksAreUnblockedWhenMoreDiskSpaceBecomesAvailable
490-
issue: https://github.com/elastic/elasticsearch/issues/129296
491488
- class: org.elasticsearch.xpack.security.PermissionsIT
492489
method: testCanManageIndexWithNoPermissions
493490
issue: https://github.com/elastic/elasticsearch/issues/129471
@@ -530,9 +527,6 @@ tests:
530527
- class: org.elasticsearch.index.store.FsDirectoryFactoryTests
531528
method: testPreload
532529
issue: https://github.com/elastic/elasticsearch/issues/129852
533-
- class: org.elasticsearch.xpack.rank.rrf.RRFRankClientYamlTestSuiteIT
534-
method: test {yaml=rrf/950_pinned_interaction/rrf with pinned retriever as a sub-retriever}
535-
issue: https://github.com/elastic/elasticsearch/issues/129845
536530
- class: org.elasticsearch.xpack.test.rest.XPackRestIT
537531
method: test {p0=esql/60_usage/Basic ESQL usage output (telemetry) non-snapshot version}
538532
issue: https://github.com/elastic/elasticsearch/issues/129888
@@ -563,9 +557,6 @@ tests:
563557
- class: org.elasticsearch.compute.aggregation.TopIntAggregatorFunctionTests
564558
method: testManyInitialManyPartialFinalRunnerThrowing
565559
issue: https://github.com/elastic/elasticsearch/issues/130145
566-
- class: org.elasticsearch.index.engine.ThreadPoolMergeExecutorServiceDiskSpaceTests
567-
method: testUnavailableBudgetBlocksNewMergeTasksFromStartingExecution
568-
issue: https://github.com/elastic/elasticsearch/issues/130205
569560
- class: org.elasticsearch.index.codec.vectors.cluster.KMeansLocalTests
570561
method: testKMeansNeighbors
571562
issue: https://github.com/elastic/elasticsearch/issues/130258

server/src/main/java/org/elasticsearch/index/mapper/MapperFeatures.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ public class MapperFeatures implements FeatureSpecification {
4545
static final NodeFeature IVF_FORMAT_CLUSTER_FEATURE = new NodeFeature("mapper.ivf_format_cluster_feature");
4646
static final NodeFeature IVF_NESTED_SUPPORT = new NodeFeature("mapper.ivf_nested_support");
4747
static final NodeFeature SEARCH_LOAD_PER_SHARD = new NodeFeature("mapper.search_load_per_shard");
48+
static final NodeFeature PATTERNED_TEXT = new NodeFeature("mapper.patterned_text");
4849

4950
@Override
5051
public Set<NodeFeature> getTestFeatures() {
@@ -76,7 +77,8 @@ public Set<NodeFeature> getTestFeatures() {
7677
IVF_FORMAT_CLUSTER_FEATURE,
7778
IVF_NESTED_SUPPORT,
7879
SEARCH_LOAD_PER_SHARD,
79-
SPARSE_VECTOR_INDEX_OPTIONS_FEATURE
80+
SPARSE_VECTOR_INDEX_OPTIONS_FEATURE,
81+
PATTERNED_TEXT
8082
);
8183
}
8284
}

server/src/test/java/org/elasticsearch/index/engine/ThreadPoolMergeExecutorServiceDiskSpaceTests.java

Lines changed: 25 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,7 @@
2727
import org.elasticsearch.threadpool.TestThreadPool;
2828
import org.elasticsearch.threadpool.ThreadPool;
2929
import org.junit.After;
30-
import org.junit.AfterClass;
31-
import org.junit.BeforeClass;
30+
import org.junit.Before;
3231

3332
import java.io.IOException;
3433
import java.nio.file.FileStore;
@@ -59,8 +58,8 @@
5958

6059
public class ThreadPoolMergeExecutorServiceDiskSpaceTests extends ESTestCase {
6160

62-
private static TestMockFileStore aFileStore = new TestMockFileStore("mocka");
63-
private static TestMockFileStore bFileStore = new TestMockFileStore("mockb");
61+
private static TestMockFileStore aFileStore;
62+
private static TestMockFileStore bFileStore;
6463
private static String aPathPart;
6564
private static String bPathPart;
6665
private static int mergeExecutorThreadCount;
@@ -69,8 +68,10 @@ public class ThreadPoolMergeExecutorServiceDiskSpaceTests extends ESTestCase {
6968
private static NodeEnvironment nodeEnvironment;
7069
private static boolean setThreadPoolMergeSchedulerSetting;
7170

72-
@BeforeClass
73-
public static void installMockUsableSpaceFS() throws Exception {
71+
@Before
72+
public void setupTestEnv() throws Exception {
73+
aFileStore = new TestMockFileStore("mocka");
74+
bFileStore = new TestMockFileStore("mockb");
7475
FileSystem current = PathUtils.getDefaultFileSystem();
7576
aPathPart = "a-" + randomUUID();
7677
bPathPart = "b-" + randomUUID();
@@ -96,20 +97,21 @@ public static void installMockUsableSpaceFS() throws Exception {
9697
nodeEnvironment = new NodeEnvironment(settings, TestEnvironment.newEnvironment(settings));
9798
}
9899

99-
@AfterClass
100-
public static void removeMockUsableSpaceFS() {
100+
@After
101+
public void removeMockUsableSpaceFS() {
102+
if (setThreadPoolMergeSchedulerSetting) {
103+
assertWarnings(
104+
"[indices.merge.scheduler.use_thread_pool] setting was deprecated in Elasticsearch "
105+
+ "and will be removed in a future release. See the breaking changes documentation for the next major version."
106+
);
107+
}
101108
PathUtilsForTesting.teardown();
102109
aFileStore = null;
103110
bFileStore = null;
104111
testThreadPool.close();
105112
nodeEnvironment.close();
106113
}
107114

108-
@After
109-
public void cleanupThreadPool() {
110-
testThreadPool.scheduledTasks.clear();
111-
}
112-
113115
static class TestCapturingThreadPool extends TestThreadPool {
114116
final List<Tuple<TimeValue, Cancellable>> scheduledTasks = new ArrayList<>();
115117

@@ -319,8 +321,6 @@ public void testDiskSpaceMonitorStartsAsDisabled() throws Exception {
319321
)
320322
);
321323
}
322-
aFileStore.throwIoException = false;
323-
bFileStore.throwIoException = false;
324324
}
325325

326326
public void testAvailableDiskSpaceMonitorWhenFileSystemStatErrors() throws Exception {
@@ -406,8 +406,6 @@ public void testAvailableDiskSpaceMonitorWhenFileSystemStatErrors() throws Excep
406406
}
407407
});
408408
}
409-
aFileStore.throwIoException = false;
410-
bFileStore.throwIoException = false;
411409
}
412410

413411
public void testAvailableDiskSpaceMonitorSettingsUpdate() throws Exception {
@@ -516,12 +514,6 @@ public void testAvailableDiskSpaceMonitorSettingsUpdate() throws Exception {
516514
}
517515
}, 5, TimeUnit.SECONDS);
518516
}
519-
if (setThreadPoolMergeSchedulerSetting) {
520-
assertWarnings(
521-
"[indices.merge.scheduler.use_thread_pool] setting was deprecated in Elasticsearch "
522-
+ "and will be removed in a future release. See the breaking changes documentation for the next major version."
523-
);
524-
}
525517
}
526518

527519
public void testAbortingOrRunningMergeTaskHoldsUpBudget() throws Exception {
@@ -564,7 +556,7 @@ public void testAbortingOrRunningMergeTaskHoldsUpBudget() throws Exception {
564556
testDoneLatch.await();
565557
return null;
566558
}).when(stallingMergeTask).abort();
567-
threadPoolMergeExecutorService.submitMergeTask(stallingMergeTask);
559+
assertTrue(threadPoolMergeExecutorService.submitMergeTask(stallingMergeTask));
568560
// assert the merge task is holding up disk space budget
569561
expectedAvailableBudget.set(expectedAvailableBudget.get() - taskBudget);
570562
assertBusy(
@@ -574,7 +566,7 @@ public void testAbortingOrRunningMergeTaskHoldsUpBudget() throws Exception {
574566
ThreadPoolMergeScheduler.MergeTask mergeTask = mock(ThreadPoolMergeScheduler.MergeTask.class);
575567
when(mergeTask.estimatedRemainingMergeSize()).thenReturn(randomLongBetween(0L, expectedAvailableBudget.get()));
576568
when(mergeTask.schedule()).thenReturn(RUN);
577-
threadPoolMergeExecutorService.submitMergeTask(mergeTask);
569+
assertTrue(threadPoolMergeExecutorService.submitMergeTask(mergeTask));
578570
assertBusy(() -> {
579571
verify(mergeTask).schedule();
580572
verify(mergeTask).run();
@@ -595,12 +587,6 @@ public void testAbortingOrRunningMergeTaskHoldsUpBudget() throws Exception {
595587
assertThat(threadPoolMergeExecutorService.allDone(), is(true));
596588
});
597589
}
598-
if (setThreadPoolMergeSchedulerSetting) {
599-
assertWarnings(
600-
"[indices.merge.scheduler.use_thread_pool] setting was deprecated in Elasticsearch "
601-
+ "and will be removed in a future release. See the breaking changes documentation for the next major version."
602-
);
603-
}
604590
}
605591

606592
public void testBackloggedMergeTasksDoNotHoldUpBudget() throws Exception {
@@ -654,7 +640,7 @@ && randomBoolean()) {
654640
testDoneLatch.await();
655641
return null;
656642
}).when(mergeTask).abort();
657-
threadPoolMergeExecutorService.submitMergeTask(mergeTask);
643+
assertTrue(threadPoolMergeExecutorService.submitMergeTask(mergeTask));
658644
if (mergeTask.schedule() == RUN) {
659645
runningMergeTasks.add(mergeTask);
660646
} else {
@@ -679,7 +665,7 @@ && randomBoolean()) {
679665
return RUN;
680666
}
681667
}).when(mergeTask).schedule();
682-
threadPoolMergeExecutorService.submitMergeTask(mergeTask);
668+
assertTrue(threadPoolMergeExecutorService.submitMergeTask(mergeTask));
683669
backloggingMergeTasksScheduleCountMap.put(mergeTask, 1);
684670
}
685671
int checkRounds = randomIntBetween(1, 10);
@@ -712,7 +698,7 @@ && randomBoolean()) {
712698
long taskBudget = randomLongBetween(1L, backloggedMergeTaskDiskSpaceBudget);
713699
when(mergeTask.estimatedRemainingMergeSize()).thenReturn(taskBudget);
714700
when(mergeTask.schedule()).thenReturn(RUN);
715-
threadPoolMergeExecutorService.submitMergeTask(mergeTask);
701+
assertTrue(threadPoolMergeExecutorService.submitMergeTask(mergeTask));
716702
assertBusy(() -> {
717703
verify(mergeTask).schedule();
718704
verify(mergeTask).run();
@@ -739,12 +725,6 @@ && randomBoolean()) {
739725
assertThat(threadPoolMergeExecutorService.allDone(), is(true));
740726
});
741727
}
742-
if (setThreadPoolMergeSchedulerSetting) {
743-
assertWarnings(
744-
"[indices.merge.scheduler.use_thread_pool] setting was deprecated in Elasticsearch "
745-
+ "and will be removed in a future release. See the breaking changes documentation for the next major version."
746-
);
747-
}
748728
}
749729

750730
public void testUnavailableBudgetBlocksNewMergeTasksFromStartingExecution() throws Exception {
@@ -823,7 +803,7 @@ public void testUnavailableBudgetBlocksNewMergeTasksFromStartingExecution() thro
823803
runningOrAbortingMergeTasksList.add(mergeTask);
824804
latchesBlockingMergeTasksList.add(blockMergeTaskLatch);
825805
}
826-
threadPoolMergeExecutorService.submitMergeTask(mergeTask);
806+
assertTrue(threadPoolMergeExecutorService.submitMergeTask(mergeTask));
827807
}
828808
// currently running (or aborting) merge tasks have consumed some of the available budget
829809
while (runningOrAbortingMergeTasksList.isEmpty() == false) {
@@ -855,8 +835,8 @@ public void testUnavailableBudgetBlocksNewMergeTasksFromStartingExecution() thro
855835
// merge task 2 can run because it is under budget
856836
when(mergeTask2.estimatedRemainingMergeSize()).thenReturn(underBudget);
857837
}
858-
threadPoolMergeExecutorService.submitMergeTask(mergeTask1);
859-
threadPoolMergeExecutorService.submitMergeTask(mergeTask2);
838+
assertTrue(threadPoolMergeExecutorService.submitMergeTask(mergeTask1));
839+
assertTrue(threadPoolMergeExecutorService.submitMergeTask(mergeTask2));
860840
assertBusy(() -> {
861841
if (task1Runs) {
862842
verify(mergeTask1).schedule();
@@ -890,12 +870,6 @@ public void testUnavailableBudgetBlocksNewMergeTasksFromStartingExecution() thro
890870
bFileStore.usableSpace = Long.MAX_VALUE;
891871
assertBusy(() -> assertThat(threadPoolMergeExecutorService.allDone(), is(true)));
892872
}
893-
if (setThreadPoolMergeSchedulerSetting) {
894-
assertWarnings(
895-
"[indices.merge.scheduler.use_thread_pool] setting was deprecated in Elasticsearch "
896-
+ "and will be removed in a future release. See the breaking changes documentation for the next major version."
897-
);
898-
}
899873
}
900874

901875
public void testEnqueuedMergeTasksAreUnblockedWhenEstimatedMergeSizeChanges() throws Exception {
@@ -990,12 +964,6 @@ public void testEnqueuedMergeTasksAreUnblockedWhenEstimatedMergeSizeChanges() th
990964
}
991965
});
992966
}
993-
if (setThreadPoolMergeSchedulerSetting) {
994-
assertWarnings(
995-
"[indices.merge.scheduler.use_thread_pool] setting was deprecated in Elasticsearch "
996-
+ "and will be removed in a future release. See the breaking changes documentation for the next major version."
997-
);
998-
}
999967
}
1000968

1001969
public void testMergeTasksAreUnblockedWhenMoreDiskSpaceBecomesAvailable() throws Exception {
@@ -1058,7 +1026,7 @@ public void testMergeTasksAreUnblockedWhenMoreDiskSpaceBecomesAvailable() throws
10581026
testDoneLatch.await();
10591027
return null;
10601028
}).when(mergeTask).abort();
1061-
threadPoolMergeExecutorService.submitMergeTask(mergeTask);
1029+
assertTrue(threadPoolMergeExecutorService.submitMergeTask(mergeTask));
10621030
if (mergeTask.schedule() == RUN) {
10631031
runningMergeTasks.add(mergeTask);
10641032
} else {
@@ -1083,7 +1051,7 @@ public void testMergeTasksAreUnblockedWhenMoreDiskSpaceBecomesAvailable() throws
10831051
when(mergeTask.estimatedRemainingMergeSize()).thenReturn(taskBudget);
10841052
Schedule schedule = randomFrom(RUN, ABORT);
10851053
when(mergeTask.schedule()).thenReturn(schedule);
1086-
threadPoolMergeExecutorService.submitMergeTask(mergeTask);
1054+
assertTrue(threadPoolMergeExecutorService.submitMergeTask(mergeTask));
10871055
if (schedule == RUN) {
10881056
overBudgetTasksToRunList.add(mergeTask);
10891057
} else {
@@ -1150,11 +1118,5 @@ public void testMergeTasksAreUnblockedWhenMoreDiskSpaceBecomesAvailable() throws
11501118
);
11511119
});
11521120
}
1153-
if (setThreadPoolMergeSchedulerSetting) {
1154-
assertWarnings(
1155-
"[indices.merge.scheduler.use_thread_pool] setting was deprecated in Elasticsearch "
1156-
+ "and will be removed in a future release. See the breaking changes documentation for the next major version."
1157-
);
1158-
}
11591121
}
11601122
}

test/test-clusters/src/main/java/org/elasticsearch/test/cluster/FeatureFlag.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ public enum FeatureFlag {
2121
DOC_VALUES_SKIPPER("es.doc_values_skipper_feature_flag_enabled=true", Version.fromString("8.18.1"), null),
2222
USE_LUCENE101_POSTINGS_FORMAT("es.use_lucene101_postings_format_feature_flag_enabled=true", Version.fromString("9.1.0"), null),
2323
IVF_FORMAT("es.ivf_format_feature_flag_enabled=true", Version.fromString("9.1.0"), null),
24-
LOGS_STREAM("es.logs_stream_feature_flag_enabled=true", Version.fromString("9.1.0"), null);
24+
LOGS_STREAM("es.logs_stream_feature_flag_enabled=true", Version.fromString("9.1.0"), null),
25+
PATTERNED_TEXT("es.patterned_text_feature_flag_enabled=true", Version.fromString("9.2.0"), null);
2526

2627
public final String systemProperty;
2728
public final Version from;

x-pack/plugin/logsdb/src/yamlRestTest/java/org/elasticsearch/xpack/logsdb/LogsdbTestSuiteIT.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ public class LogsdbTestSuiteIT extends ESClientYamlSuiteTestCase {
3434
.setting("xpack.license.self_generated.type", "trial")
3535
.feature(FeatureFlag.DOC_VALUES_SKIPPER)
3636
.feature(FeatureFlag.USE_LUCENE101_POSTINGS_FORMAT)
37+
.feature(FeatureFlag.PATTERNED_TEXT)
3738
.build();
3839

3940
public LogsdbTestSuiteIT(@Name("yaml") ClientYamlTestCandidate testCandidate) {

x-pack/plugin/logsdb/src/yamlRestTest/resources/rest-api-spec/test/patternedtext/10_basic.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
setup:
2+
- requires:
3+
cluster_features: [ "mapper.patterned_text" ]
4+
reason: "patterned_text mappings are used in this test"
25

36
- do:
47
indices.create:

x-pack/plugin/logsdb/src/yamlRestTest/resources/rest-api-spec/test/patternedtext/20_synthetic_source.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
setup:
2+
- requires:
3+
cluster_features: [ "mapper.patterned_text" ]
4+
reason: "patterned_text mappings are used in this test"
5+
6+
---
17
simple:
28
- do:
39
indices.create:

x-pack/plugin/rank-rrf/src/yamlRestTest/resources/rest-api-spec/test/rrf/950_pinned_interaction.yml

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ setup:
8080
-
8181
standard:
8282
query:
83-
match: { text: "document" }
83+
match_none: {}
8484
-
8585
pinned:
8686
ids: ["doc4", "doc5"]
@@ -90,9 +90,6 @@ setup:
9090
match: { text: "document" }
9191

9292
- match: { hits.total.value: 5 }
93-
- match: { hits.hits.0._id: doc1 }
94-
- lt: { hits.hits.0._score: 100.0 }
95-
- match: { hits.hits.1._id: doc4 }
96-
- match: { hits.hits.2._id: doc5 }
97-
93+
- match: { hits.hits.0._id: doc4 }
94+
- match: { hits.hits.1._id: doc5 }
9895

x-pack/plugin/security/src/internalClusterTest/java/org/elasticsearch/xpack/security/authz/store/NativePrivilegeStoreCacheTests.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,6 @@ public void testHasPrivileges() {
277277
);
278278
}
279279

280-
@AwaitsFix(bugUrl = "https://github.com/elastic/elasticsearch/issues/93447")
281280
public void testRolesCacheIsClearedWhenPrivilegesIsChanged() {
282281
final Client client = client();
283282

0 commit comments

Comments
 (0)