You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2022/05/10 03:04:00 UTC

[lucene] branch main updated: LUCENE-10532: remove @Slow annotation (#832)

This is an automated email from the ASF dual-hosted git repository.

rmuir pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/lucene.git


The following commit(s) were added to refs/heads/main by this push:
     new 3edfeb5eb22 LUCENE-10532: remove @Slow annotation (#832)
3edfeb5eb22 is described below

commit 3edfeb5eb224344e35f3454f5d51288ab05452c1
Author: Robert Muir <rm...@apache.org>
AuthorDate: Mon May 9 23:03:55 2022 -0400

    LUCENE-10532: remove @Slow annotation (#832)
    
    Remove `@Slow` annotation, for more consistency with CI and local jobs. All tests can be fast!
---
 .github/workflows/gradle-precommit.yml                    |  2 +-
 dev-tools/scripts/reproduceJenkinsFailures.py             |  4 ++--
 gradle/testing/randomization.gradle                       |  1 -
 help/tests.txt                                            |  8 ++++----
 lucene/CHANGES.txt                                        |  2 ++
 .../apache/lucene/analysis/ja/TestJapaneseTokenizer.java  |  1 -
 .../lucene/analysis/ko/dict/TestTokenInfoDictionary.java  |  1 -
 .../lucene80/BaseLucene80DocValuesFormatTestCase.java     |  2 --
 .../lucene/classification/TestBM25NBClassifier.java       |  1 -
 .../lucene/analysis/standard/TestStandardAnalyzer.java    |  1 -
 .../tokenattributes/TestCharTermAttributeImpl.java        |  1 -
 .../codecs/lucene90/TestLucene90DocValuesFormat.java      |  2 --
 .../org/apache/lucene/document/BaseSpatialTestCase.java   |  3 ---
 .../TestLatLonDocValuesMultiPointPointQueries.java        |  1 -
 .../document/TestLatLonDocValuesPointPointQueries.java    |  1 -
 .../lucene/document/TestLatLonMultiLineShapeQueries.java  |  1 -
 .../lucene/document/TestLatLonMultiPointPointQueries.java |  1 -
 .../lucene/document/TestLatLonMultiPointShapeQueries.java |  1 -
 .../document/TestLatLonMultiPolygonShapeQueries.java      |  1 -
 .../lucene/document/TestLatLonPointPointQueries.java      |  1 -
 .../lucene/document/TestXYMultiLineShapeQueries.java      |  1 -
 .../lucene/document/TestXYMultiPointShapeQueries.java     |  1 -
 .../lucene/document/TestXYMultiPolygonShapeQueries.java   |  1 -
 .../test/org/apache/lucene/index/TestDuelingCodecs.java   |  2 --
 .../org/apache/lucene/index/TestIndexWriterMerging.java   |  1 -
 .../org/apache/lucene/index/TestIndexWriterReader.java    |  1 -
 .../apache/lucene/index/TestIndexWriterWithThreads.java   |  2 --
 .../src/test/org/apache/lucene/util/TestArrayUtil.java    |  1 -
 .../test/org/apache/lucene/util/TestOfflineSorter.java    |  2 --
 .../src/test/org/apache/lucene/util/fst/TestFSTs.java     |  1 -
 .../test/org/apache/lucene/search/join/TestJoinUtil.java  |  2 --
 .../suggest/analyzing/TestAnalyzingInfixSuggester.java    |  1 -
 .../search/suggest/analyzing/TestAnalyzingSuggester.java  |  1 -
 .../search/suggest/analyzing/TestFuzzySuggester.java      |  1 -
 .../lucene/search/suggest/document/TestSuggestField.java  |  2 --
 .../lucene/search/suggest/fst/TestFSTCompletion.java      |  1 -
 .../lucene/tests/index/BaseCompoundFormatTestCase.java    |  1 -
 .../lucene/tests/index/BaseTermVectorsFormatTestCase.java |  1 -
 .../java/org/apache/lucene/tests/util/LuceneTestCase.java | 15 ---------------
 .../lucene/tests/util/RunListenerPrintReproduceInfo.java  |  1 -
 40 files changed, 9 insertions(+), 66 deletions(-)

diff --git a/.github/workflows/gradle-precommit.yml b/.github/workflows/gradle-precommit.yml
index c065eb005da..2bc848a0123 100644
--- a/.github/workflows/gradle-precommit.yml
+++ b/.github/workflows/gradle-precommit.yml
@@ -93,6 +93,6 @@ jobs:
       run: cat gradle.properties
 
     - name: Run gradle tests
-      run: ./gradlew test "-Ptask.times=true" "-Ptests.slow=false" --max-workers 2
+      run: ./gradlew test "-Ptask.times=true" --max-workers 2
 
     # - uses: gradle/wrapper-validation-action@v1
diff --git a/dev-tools/scripts/reproduceJenkinsFailures.py b/dev-tools/scripts/reproduceJenkinsFailures.py
index 879e8c01e57..e28ef3aa67c 100644
--- a/dev-tools/scripts/reproduceJenkinsFailures.py
+++ b/dev-tools/scripts/reproduceJenkinsFailures.py
@@ -38,8 +38,8 @@ reGitRev = re.compile(r'Checking out Revision (\S+)\s+\(refs/remotes/origin/([^)
 reAntInvocation = re.compile(r'\bant(?:\.bat)?\s+.*(?:jenkins-(?:hourly|nightly)|nightly-smoke)')
 reAntSysprops = re.compile(r'"-D[^"]+"|-D[^=]+="[^"]*"|-D\S+')
 
-# Method example: NOTE: reproduce with: ant test  -Dtestcase=ZkSolrClientTest -Dtests.method=testMultipleWatchesAsync -Dtests.seed=6EF5AB70F0032849 -Dtests.slow=true -Dtests.locale=he-IL -Dtests.timezone=NST -Dtests.asserts=true -Dtests.file.encoding=UTF-8
-# Suite example:  NOTE: reproduce with: ant test  -Dtestcase=CloudSolrClientTest -Dtests.seed=DB2DF2D8228BAF27 -Dtests.multiplier=3 -Dtests.slow=true -Dtests.locale=es-AR -Dtests.timezone=America/Argentina/Cordoba -Dtests.asserts=true -Dtests.file.encoding=US-ASCII
+# Method example: NOTE: reproduce with: ant test  -Dtestcase=ZkSolrClientTest -Dtests.method=testMultipleWatchesAsync -Dtests.seed=6EF5AB70F0032849 -Dtests.locale=he-IL -Dtests.timezone=NST -Dtests.asserts=true -Dtests.file.encoding=UTF-8
+# Suite example:  NOTE: reproduce with: ant test  -Dtestcase=CloudSolrClientTest -Dtests.seed=DB2DF2D8228BAF27 -Dtests.multiplier=3 -Dtests.locale=es-AR -Dtests.timezone=America/Argentina/Cordoba -Dtests.asserts=true -Dtests.file.encoding=US-ASCII
 reReproLine = re.compile(r'NOTE:\s+reproduce\s+with:(\s+ant\s+test\s+-Dtestcase=(\S+)\s+(?:-Dtests.method=\S+\s+)?(.*))')
 reTestsSeed = re.compile(r'-Dtests.seed=\S+\s*')
 
diff --git a/gradle/testing/randomization.gradle b/gradle/testing/randomization.gradle
index 90406f4adcd..5f862f087ec 100644
--- a/gradle/testing/randomization.gradle
+++ b/gradle/testing/randomization.gradle
@@ -85,7 +85,6 @@ allprojects {
           [propName: 'tests.timezone', value: "random", description: "Sets the default time zone tests should run with."],
           // filtering
           [propName: 'tests.filter', value: null, description: "Applies a test filter (see :helpTests)."],
-          [propName: 'tests.slow', value: true, description: "Enables or disables @Slow tests."],
           [propName: 'tests.nightly', value: false, description: "Enables or disables @Nightly tests."],
           [propName: 'tests.weekly', value: false, description: "Enables or disables @Weekly tests."],
           [propName: 'tests.monster', value: false, description: "Enables or disables @Monster tests."],
diff --git a/help/tests.txt b/help/tests.txt
index 795f97274ea..f191ee4aba4 100644
--- a/help/tests.txt
+++ b/help/tests.txt
@@ -68,17 +68,17 @@ Test groups
 -----------
 
 Tests can be filtered by an annotation they're marked with.
-Some test group annotations include: @AwaitsFix, @Nightly, @Slow
+Some test group annotations include: @AwaitsFix, @Nightly
 
 This uses filtering infrastructure on the *runner* (randomizedtesting), 
 not gradle's built-in mechanisms (but it can be combined with "--tests").
-For example, run all lucene-core tests annotated as @Slow:
+For example, run all lucene-core tests annotated as @Nightly:
 
-gradlew -p lucene/core test -Ptests.filter=@Slow
+gradlew -p lucene/core test -Ptests.filter=@Nightly
 
 Test group filters can be combined into Boolean expressions:
 
-gradlew -p lucene/core test "default and not(@awaitsfix or @slow)"
+gradlew -p lucene/core test "default and not(@awaitsfix or @nightly)"
 
 
 Reiteration ("beasting")
diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index 262f3ea4362..1c6f87b6d89 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -185,6 +185,8 @@ Build
 
 * Upgrade forbiddenapis to version 3.3.  (Uwe Schindler)
 
+* LUCENE-10532: Remove LuceneTestCase.Slow annotation. ALl tests can be fast. (Robert Muir)
+
 Other
 ---------------------
 * LUCENE-10526: Test-framework: Add FilterFileSystemProvider.wrapPath(Path) method for mock filesystems
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseTokenizer.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseTokenizer.java
index 9e55d59c8c3..feb85856d5e 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseTokenizer.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseTokenizer.java
@@ -341,7 +341,6 @@ public class TestJapaneseTokenizer extends BaseTokenStreamTestCase {
   }
 
   /** blast some random large strings through the analyzer */
-  @Slow
   public void testRandomHugeStrings() throws Exception {
     Random random = random();
     checkRandomData(random, analyzer, RANDOM_MULTIPLIER, 4096);
diff --git a/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/dict/TestTokenInfoDictionary.java b/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/dict/TestTokenInfoDictionary.java
index 46c54271532..a0d8f9b778f 100644
--- a/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/dict/TestTokenInfoDictionary.java
+++ b/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/dict/TestTokenInfoDictionary.java
@@ -95,7 +95,6 @@ public class TestTokenInfoDictionary extends LuceneTestCase {
   }
 
   /** enumerates the entire FST/lookup data and just does basic sanity checks */
-  @Slow
   public void testEnumerateAll() throws Exception {
     // just for debugging
     int numTerms = 0;
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene80/BaseLucene80DocValuesFormatTestCase.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene80/BaseLucene80DocValuesFormatTestCase.java
index 390ddc37a2d..b5e5410b9c3 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene80/BaseLucene80DocValuesFormatTestCase.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene80/BaseLucene80DocValuesFormatTestCase.java
@@ -90,7 +90,6 @@ public abstract class BaseLucene80DocValuesFormatTestCase
     }
   }
 
-  @Slow
   public void testSortedVariableLengthBigVsStoredFields() throws Exception {
     int numIterations = atLeast(1);
     for (int i = 0; i < numIterations; i++) {
@@ -153,7 +152,6 @@ public abstract class BaseLucene80DocValuesFormatTestCase
     }
   }
 
-  @Slow
   public void testSparseDocValuesVsStoredFields() throws Exception {
     int numIterations = atLeast(1);
     for (int i = 0; i < numIterations; i++) {
diff --git a/lucene/classification/src/test/org/apache/lucene/classification/TestBM25NBClassifier.java b/lucene/classification/src/test/org/apache/lucene/classification/TestBM25NBClassifier.java
index b392b6a1fe1..f6d538e80fb 100644
--- a/lucene/classification/src/test/org/apache/lucene/classification/TestBM25NBClassifier.java
+++ b/lucene/classification/src/test/org/apache/lucene/classification/TestBM25NBClassifier.java
@@ -96,7 +96,6 @@ public class TestBM25NBClassifier extends ClassificationTestBase<BytesRef> {
   }
 
   @Test
-  @Slow
   public void testPerformance() throws Exception {
     MockAnalyzer analyzer = new MockAnalyzer(random());
     int numDocs = atLeast(10);
diff --git a/lucene/core/src/test/org/apache/lucene/analysis/standard/TestStandardAnalyzer.java b/lucene/core/src/test/org/apache/lucene/analysis/standard/TestStandardAnalyzer.java
index 7befe923cee..655ba8bf9b0 100644
--- a/lucene/core/src/test/org/apache/lucene/analysis/standard/TestStandardAnalyzer.java
+++ b/lucene/core/src/test/org/apache/lucene/analysis/standard/TestStandardAnalyzer.java
@@ -38,7 +38,6 @@ public class TestStandardAnalyzer extends BaseTokenStreamTestCase {
 
   // LUCENE-5897: slow tokenization of strings of the form
   // (\p{WB:ExtendNumLet}[\p{WB:Format}\p{WB:Extend}]*)+
-  @Slow
   public void testLargePartiallyMatchingToken() throws Exception {
     // TODO: get these lists of chars matching a property from ICU4J
     // http://www.unicode.org/Public/6.3.0/ucd/auxiliary/WordBreakProperty.txt
diff --git a/lucene/core/src/test/org/apache/lucene/analysis/tokenattributes/TestCharTermAttributeImpl.java b/lucene/core/src/test/org/apache/lucene/analysis/tokenattributes/TestCharTermAttributeImpl.java
index 8152b3e26f5..3a151b4b026 100644
--- a/lucene/core/src/test/org/apache/lucene/analysis/tokenattributes/TestCharTermAttributeImpl.java
+++ b/lucene/core/src/test/org/apache/lucene/analysis/tokenattributes/TestCharTermAttributeImpl.java
@@ -50,7 +50,6 @@ public class TestCharTermAttributeImpl extends LuceneTestCase {
         });
   }
 
-  @Slow
   public void testGrow() {
     CharTermAttributeImpl t = new CharTermAttributeImpl();
     StringBuilder buf = new StringBuilder("ab");
diff --git a/lucene/core/src/test/org/apache/lucene/codecs/lucene90/TestLucene90DocValuesFormat.java b/lucene/core/src/test/org/apache/lucene/codecs/lucene90/TestLucene90DocValuesFormat.java
index ef085bb03db..65b21f21165 100644
--- a/lucene/core/src/test/org/apache/lucene/codecs/lucene90/TestLucene90DocValuesFormat.java
+++ b/lucene/core/src/test/org/apache/lucene/codecs/lucene90/TestLucene90DocValuesFormat.java
@@ -98,7 +98,6 @@ public class TestLucene90DocValuesFormat extends BaseCompressingDocValuesFormatT
     }
   }
 
-  @Slow
   public void testSortedVariableLengthBigVsStoredFields() throws Exception {
     int numIterations = atLeast(1);
     for (int i = 0; i < numIterations; i++) {
@@ -161,7 +160,6 @@ public class TestLucene90DocValuesFormat extends BaseCompressingDocValuesFormatT
     }
   }
 
-  @Slow
   public void testSparseDocValuesVsStoredFields() throws Exception {
     int numIterations = atLeast(1);
     for (int i = 0; i < numIterations; i++) {
diff --git a/lucene/core/src/test/org/apache/lucene/document/BaseSpatialTestCase.java b/lucene/core/src/test/org/apache/lucene/document/BaseSpatialTestCase.java
index 2d9b9e143c5..233b152370f 100644
--- a/lucene/core/src/test/org/apache/lucene/document/BaseSpatialTestCase.java
+++ b/lucene/core/src/test/org/apache/lucene/document/BaseSpatialTestCase.java
@@ -82,7 +82,6 @@ public abstract class BaseSpatialTestCase extends LuceneTestCase {
   }
 
   // Force low cardinality leaves
-  @Slow
   public void testLowCardinalityShapeManyTimes() throws Exception {
     int numShapes = atLeast(20);
     int cardinality = TestUtil.nextInt(random(), 2, 20);
@@ -105,12 +104,10 @@ public abstract class BaseSpatialTestCase extends LuceneTestCase {
     doTestRandom(10);
   }
 
-  @Slow
   public void testRandomMedium() throws Exception {
     doTestRandom(atLeast(20));
   }
 
-  @Slow
   @Nightly
   public void testRandomBig() throws Exception {
     doTestRandom(20000);
diff --git a/lucene/core/src/test/org/apache/lucene/document/TestLatLonDocValuesMultiPointPointQueries.java b/lucene/core/src/test/org/apache/lucene/document/TestLatLonDocValuesMultiPointPointQueries.java
index e66a420e0c8..f4e1395c27b 100644
--- a/lucene/core/src/test/org/apache/lucene/document/TestLatLonDocValuesMultiPointPointQueries.java
+++ b/lucene/core/src/test/org/apache/lucene/document/TestLatLonDocValuesMultiPointPointQueries.java
@@ -90,7 +90,6 @@ public class TestLatLonDocValuesMultiPointPointQueries extends BaseLatLonDocValu
     }
   }
 
-  @Slow
   @Nightly
   @Override
   public void testRandomBig() throws Exception {
diff --git a/lucene/core/src/test/org/apache/lucene/document/TestLatLonDocValuesPointPointQueries.java b/lucene/core/src/test/org/apache/lucene/document/TestLatLonDocValuesPointPointQueries.java
index 1e8532b2411..13c9baa4c01 100644
--- a/lucene/core/src/test/org/apache/lucene/document/TestLatLonDocValuesPointPointQueries.java
+++ b/lucene/core/src/test/org/apache/lucene/document/TestLatLonDocValuesPointPointQueries.java
@@ -62,7 +62,6 @@ public class TestLatLonDocValuesPointPointQueries extends BaseLatLonDocValueTest
     }
   }
 
-  @Slow
   @Nightly
   @Override
   public void testRandomBig() throws Exception {
diff --git a/lucene/core/src/test/org/apache/lucene/document/TestLatLonMultiLineShapeQueries.java b/lucene/core/src/test/org/apache/lucene/document/TestLatLonMultiLineShapeQueries.java
index 9759af874e3..3a831f78eee 100644
--- a/lucene/core/src/test/org/apache/lucene/document/TestLatLonMultiLineShapeQueries.java
+++ b/lucene/core/src/test/org/apache/lucene/document/TestLatLonMultiLineShapeQueries.java
@@ -95,7 +95,6 @@ public class TestLatLonMultiLineShapeQueries extends BaseLatLonShapeTestCase {
     }
   }
 
-  @Slow
   @Nightly
   @Override
   public void testRandomBig() throws Exception {
diff --git a/lucene/core/src/test/org/apache/lucene/document/TestLatLonMultiPointPointQueries.java b/lucene/core/src/test/org/apache/lucene/document/TestLatLonMultiPointPointQueries.java
index 808fb9d5011..ec33faa61bb 100644
--- a/lucene/core/src/test/org/apache/lucene/document/TestLatLonMultiPointPointQueries.java
+++ b/lucene/core/src/test/org/apache/lucene/document/TestLatLonMultiPointPointQueries.java
@@ -90,7 +90,6 @@ public class TestLatLonMultiPointPointQueries extends BaseLatLonPointTestCase {
     }
   }
 
-  @Slow
   @Nightly
   @Override
   public void testRandomBig() throws Exception {
diff --git a/lucene/core/src/test/org/apache/lucene/document/TestLatLonMultiPointShapeQueries.java b/lucene/core/src/test/org/apache/lucene/document/TestLatLonMultiPointShapeQueries.java
index c500e8b9264..f623212135f 100644
--- a/lucene/core/src/test/org/apache/lucene/document/TestLatLonMultiPointShapeQueries.java
+++ b/lucene/core/src/test/org/apache/lucene/document/TestLatLonMultiPointShapeQueries.java
@@ -95,7 +95,6 @@ public class TestLatLonMultiPointShapeQueries extends BaseLatLonShapeTestCase {
     }
   }
 
-  @Slow
   @Nightly
   @Override
   public void testRandomBig() throws Exception {
diff --git a/lucene/core/src/test/org/apache/lucene/document/TestLatLonMultiPolygonShapeQueries.java b/lucene/core/src/test/org/apache/lucene/document/TestLatLonMultiPolygonShapeQueries.java
index e874422c73b..3a2c9d4b439 100644
--- a/lucene/core/src/test/org/apache/lucene/document/TestLatLonMultiPolygonShapeQueries.java
+++ b/lucene/core/src/test/org/apache/lucene/document/TestLatLonMultiPolygonShapeQueries.java
@@ -141,7 +141,6 @@ public class TestLatLonMultiPolygonShapeQueries extends BaseLatLonShapeTestCase
     }
   }
 
-  @Slow
   @Nightly
   @Override
   public void testRandomBig() throws Exception {
diff --git a/lucene/core/src/test/org/apache/lucene/document/TestLatLonPointPointQueries.java b/lucene/core/src/test/org/apache/lucene/document/TestLatLonPointPointQueries.java
index 752f9a01f56..d8881d93d98 100644
--- a/lucene/core/src/test/org/apache/lucene/document/TestLatLonPointPointQueries.java
+++ b/lucene/core/src/test/org/apache/lucene/document/TestLatLonPointPointQueries.java
@@ -60,7 +60,6 @@ public class TestLatLonPointPointQueries extends BaseLatLonPointTestCase {
     }
   }
 
-  @Slow
   @Nightly
   @Override
   public void testRandomBig() throws Exception {
diff --git a/lucene/core/src/test/org/apache/lucene/document/TestXYMultiLineShapeQueries.java b/lucene/core/src/test/org/apache/lucene/document/TestXYMultiLineShapeQueries.java
index 9f930c8ef27..e64fb385cf0 100644
--- a/lucene/core/src/test/org/apache/lucene/document/TestXYMultiLineShapeQueries.java
+++ b/lucene/core/src/test/org/apache/lucene/document/TestXYMultiLineShapeQueries.java
@@ -95,7 +95,6 @@ public class TestXYMultiLineShapeQueries extends BaseXYShapeTestCase {
     }
   }
 
-  @Slow
   @Nightly
   @Override
   public void testRandomBig() throws Exception {
diff --git a/lucene/core/src/test/org/apache/lucene/document/TestXYMultiPointShapeQueries.java b/lucene/core/src/test/org/apache/lucene/document/TestXYMultiPointShapeQueries.java
index fdbbf826286..f72dca49e80 100644
--- a/lucene/core/src/test/org/apache/lucene/document/TestXYMultiPointShapeQueries.java
+++ b/lucene/core/src/test/org/apache/lucene/document/TestXYMultiPointShapeQueries.java
@@ -95,7 +95,6 @@ public class TestXYMultiPointShapeQueries extends BaseXYShapeTestCase {
     }
   }
 
-  @Slow
   @Nightly
   @Override
   public void testRandomBig() throws Exception {
diff --git a/lucene/core/src/test/org/apache/lucene/document/TestXYMultiPolygonShapeQueries.java b/lucene/core/src/test/org/apache/lucene/document/TestXYMultiPolygonShapeQueries.java
index 83158c276a4..7688ac1108c 100644
--- a/lucene/core/src/test/org/apache/lucene/document/TestXYMultiPolygonShapeQueries.java
+++ b/lucene/core/src/test/org/apache/lucene/document/TestXYMultiPolygonShapeQueries.java
@@ -111,7 +111,6 @@ public class TestXYMultiPolygonShapeQueries extends BaseXYShapeTestCase {
     }
   }
 
-  @Slow
   @Nightly
   @Override
   public void testRandomBig() throws Exception {
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecs.java b/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecs.java
index e9ccb4deb95..a9a23bb5e14 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecs.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecs.java
@@ -29,13 +29,11 @@ import org.apache.lucene.tests.index.RandomCodec;
 import org.apache.lucene.tests.index.RandomIndexWriter;
 import org.apache.lucene.tests.util.LineFileDocs;
 import org.apache.lucene.tests.util.LuceneTestCase;
-import org.apache.lucene.tests.util.LuceneTestCase.Slow;
 import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.IOUtils;
 
 /** Compares one codec against another */
-@Slow
 public class TestDuelingCodecs extends LuceneTestCase {
   Directory leftDir;
   IndexReader leftReader;
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterMerging.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterMerging.java
index d302f462afd..3d87c6fdef4 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterMerging.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterMerging.java
@@ -355,7 +355,6 @@ public class TestIndexWriterMerging extends LuceneTestCase {
     dir.close();
   }
 
-  @Slow
   public void testNoWaitClose() throws Throwable {
     Directory directory = newDirectory();
 
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterReader.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterReader.java
index 248890dffd5..c3d8d9776d8 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterReader.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterReader.java
@@ -386,7 +386,6 @@ public class TestIndexWriterReader extends LuceneTestCase {
     dir1.close();
   }
 
-  @Slow
   public void testAddIndexesAndDoDeletesThreads() throws Throwable {
     final int numIter = TEST_NIGHTLY ? 2 : 1;
     int numDirs = TEST_NIGHTLY ? 3 : 2;
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java
index 120cc6a37d2..4c4141a321f 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java
@@ -41,14 +41,12 @@ import org.apache.lucene.tests.store.BaseDirectoryWrapper;
 import org.apache.lucene.tests.store.MockDirectoryWrapper;
 import org.apache.lucene.tests.util.LineFileDocs;
 import org.apache.lucene.tests.util.LuceneTestCase;
-import org.apache.lucene.tests.util.LuceneTestCase.Slow;
 import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.Bits;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.ThreadInterruptedException;
 
 /** MultiThreaded IndexWriter tests */
-@Slow
 @LuceneTestCase.SuppressCodecs("SimpleText")
 public class TestIndexWriterWithThreads extends LuceneTestCase {
 
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestArrayUtil.java b/lucene/core/src/test/org/apache/lucene/util/TestArrayUtil.java
index cec1a0e3e41..abc41a5bf9f 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestArrayUtil.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestArrayUtil.java
@@ -164,7 +164,6 @@ public class TestArrayUtil extends LuceneTestCase {
 
   // This is a test for LUCENE-3054 (which fails without the merge sort fall back with stack
   // overflow in most cases)
-  @Slow
   public void testQuickToHeapSortFallback() {
     int num = atLeast(10);
     for (int i = 0; i < num; i++) {
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestOfflineSorter.java b/lucene/core/src/test/org/apache/lucene/util/TestOfflineSorter.java
index 6423e1e807c..cd81ef109cc 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestOfflineSorter.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestOfflineSorter.java
@@ -90,7 +90,6 @@ public class TestOfflineSorter extends LuceneTestCase {
     }
   }
 
-  @Slow
   public void testIntermediateMerges() throws Exception {
     // Sort 20 mb worth of data with 1mb buffer, binary merging.
     try (Directory dir = newFSDirectory(createTempDir())) {
@@ -115,7 +114,6 @@ public class TestOfflineSorter extends LuceneTestCase {
     }
   }
 
-  @Slow
   public void testSmallRandom() throws Exception {
     // Sort 20 mb worth of data with 1mb buffer.
     try (Directory dir = newFSDirectory(createTempDir())) {
diff --git a/lucene/core/src/test/org/apache/lucene/util/fst/TestFSTs.java b/lucene/core/src/test/org/apache/lucene/util/fst/TestFSTs.java
index cbe7d7ca184..cfc00895fcd 100644
--- a/lucene/core/src/test/org/apache/lucene/util/fst/TestFSTs.java
+++ b/lucene/core/src/test/org/apache/lucene/util/fst/TestFSTs.java
@@ -310,7 +310,6 @@ public class TestFSTs extends LuceneTestCase {
 
   // Build FST for all unique terms in the test line docs
   // file, up until a doc limit
-  @Slow
   public void testRealTerms() throws Exception {
 
     final LineFileDocs docs = new LineFileDocs(random());
diff --git a/lucene/join/src/test/org/apache/lucene/search/join/TestJoinUtil.java b/lucene/join/src/test/org/apache/lucene/search/join/TestJoinUtil.java
index 49db98ae4eb..8d97a415409 100644
--- a/lucene/join/src/test/org/apache/lucene/search/join/TestJoinUtil.java
+++ b/lucene/join/src/test/org/apache/lucene/search/join/TestJoinUtil.java
@@ -1420,7 +1420,6 @@ public class TestJoinUtil extends LuceneTestCase {
   }
 
   @Test
-  @Slow
   public void testSingleValueRandomJoin() throws Exception {
     int maxIndexIter = atLeast(1);
     int maxSearchIter = atLeast(1);
@@ -1428,7 +1427,6 @@ public class TestJoinUtil extends LuceneTestCase {
   }
 
   @Test
-  @Slow
   // This test really takes more time, that is why the number of iterations are smaller.
   public void testMultiValueRandomJoin() throws Exception {
     int maxIndexIter = atLeast(1);
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestAnalyzingInfixSuggester.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestAnalyzingInfixSuggester.java
index 8df561256f3..2361f6b0c31 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestAnalyzingInfixSuggester.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestAnalyzingInfixSuggester.java
@@ -636,7 +636,6 @@ public class TestAnalyzingInfixSuggester extends LuceneTestCase {
     }
   }
 
-  @Slow
   public void testRandomNRT() throws Exception {
     final Path tempDir = createTempDir("AnalyzingInfixSuggesterTest");
     Analyzer a = new MockAnalyzer(random(), MockTokenizer.WHITESPACE, false);
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestAnalyzingSuggester.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestAnalyzingSuggester.java
index 4f6fe5a5ffc..b5e49c5ec79 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestAnalyzingSuggester.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestAnalyzingSuggester.java
@@ -733,7 +733,6 @@ public class TestAnalyzingSuggester extends LuceneTestCase {
 
   private static char SEP = '\u001F';
 
-  @Slow
   public void testRandom() throws Exception {
 
     int numQueries = atLeast(200);
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestFuzzySuggester.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestFuzzySuggester.java
index 606134e287d..d1a16fce8cc 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestFuzzySuggester.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestFuzzySuggester.java
@@ -607,7 +607,6 @@ public class TestFuzzySuggester extends LuceneTestCase {
     }
   }
 
-  @Slow
   public void testRandom() throws Exception {
 
     int numQueries = atLeast(20);
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestSuggestField.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestSuggestField.java
index 0fe44266361..d2e5e59fd4a 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestSuggestField.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/TestSuggestField.java
@@ -190,7 +190,6 @@ public class TestSuggestField extends LuceneTestCase {
   }
 
   @Test
-  @Slow
   public void testDupSuggestFieldValues() throws Exception {
     Analyzer analyzer = new MockAnalyzer(random());
     RandomIndexWriter iw =
@@ -282,7 +281,6 @@ public class TestSuggestField extends LuceneTestCase {
     iw.close();
   }
 
-  @Slow
   public void testExtremeDeduplication() throws Exception {
     Analyzer analyzer = new MockAnalyzer(random());
     RandomIndexWriter iw =
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/TestFSTCompletion.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/TestFSTCompletion.java
index 6e8508feef8..ff2e85998c5 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/TestFSTCompletion.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/TestFSTCompletion.java
@@ -209,7 +209,6 @@ public class TestFSTCompletion extends LuceneTestCase {
     tempDir.close();
   }
 
-  @Slow
   public void testMultilingualInput() throws Exception {
     List<Input> input = TestLookupBenchmark.readTop50KWiki();
 
diff --git a/lucene/test-framework/src/java/org/apache/lucene/tests/index/BaseCompoundFormatTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/tests/index/BaseCompoundFormatTestCase.java
index 2fc84e0b120..be78a15db48 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/tests/index/BaseCompoundFormatTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/tests/index/BaseCompoundFormatTestCase.java
@@ -169,7 +169,6 @@ public abstract class BaseCompoundFormatTestCase extends BaseIndexFileFormatTest
   }
 
   // LUCENE-5724: actually test we play nice with NRTCachingDir and massive file
-  @Slow
   public void testLargeCFS() throws IOException {
     final String testfile = "_123.test";
     IOContext context = new IOContext(new FlushInfo(0, 512 * 1024 * 1024));
diff --git a/lucene/test-framework/src/java/org/apache/lucene/tests/index/BaseTermVectorsFormatTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/tests/index/BaseTermVectorsFormatTestCase.java
index 6ab47d830b6..dd8500de714 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/tests/index/BaseTermVectorsFormatTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/tests/index/BaseTermVectorsFormatTestCase.java
@@ -612,7 +612,6 @@ public abstract class BaseTermVectorsFormatTestCase extends BaseIndexFileFormatT
     }
   }
 
-  @Slow
   public void testLotsOfFields() throws IOException {
     int fieldCount = TEST_NIGHTLY ? atLeast(100) : atLeast(10);
     final RandomDocumentFactory docFactory = new RandomDocumentFactory(fieldCount, 10);
diff --git a/lucene/test-framework/src/java/org/apache/lucene/tests/util/LuceneTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/tests/util/LuceneTestCase.java
index eda94ead228..75818d0b41b 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/tests/util/LuceneTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/tests/util/LuceneTestCase.java
@@ -234,7 +234,6 @@ public abstract class LuceneTestCase extends Assert {
   public static final String SYSPROP_WEEKLY = "tests.weekly";
   public static final String SYSPROP_MONSTER = "tests.monster";
   public static final String SYSPROP_AWAITSFIX = "tests.awaitsfix";
-  public static final String SYSPROP_SLOW = "tests.slow";
 
   /** @see #ignoreAfterMaxFailures */
   public static final String SYSPROP_MAXFAILURES = "tests.maxfailures";
@@ -275,16 +274,6 @@ public abstract class LuceneTestCase extends Assert {
     public String bugUrl();
   }
 
-  /**
-   * Annotation for tests that are slow. Slow tests do run by default but can be disabled if a quick
-   * run is needed.
-   */
-  @Documented
-  @Inherited
-  @Retention(RetentionPolicy.RUNTIME)
-  @TestGroup(enabled = true, sysProperty = SYSPROP_SLOW)
-  public @interface Slow {}
-
   /**
    * Annotation for test classes that should avoid certain codec types (because they are expensive,
    * for example).
@@ -432,10 +421,6 @@ public abstract class LuceneTestCase extends Assert {
       systemPropertyAsBoolean(
           SYSPROP_AWAITSFIX, AwaitsFix.class.getAnnotation(TestGroup.class).enabled());
 
-  /** Whether or not {@link Slow} tests should run. */
-  public static final boolean TEST_SLOW =
-      systemPropertyAsBoolean(SYSPROP_SLOW, Slow.class.getAnnotation(TestGroup.class).enabled());
-
   /** Throttling, see {@link MockDirectoryWrapper#setThrottling(Throttling)}. */
   public static final Throttling TEST_THROTTLING =
       TEST_NIGHTLY ? Throttling.SOMETIMES : Throttling.NEVER;
diff --git a/lucene/test-framework/src/java/org/apache/lucene/tests/util/RunListenerPrintReproduceInfo.java b/lucene/test-framework/src/java/org/apache/lucene/tests/util/RunListenerPrintReproduceInfo.java
index 8162ce6a506..fdcaef3db1a 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/tests/util/RunListenerPrintReproduceInfo.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/tests/util/RunListenerPrintReproduceInfo.java
@@ -176,7 +176,6 @@ public final class RunListenerPrintReproduceInfo extends RunListener {
     if (RANDOM_MULTIPLIER > 1) addVmOpt(b, "tests.multiplier", RANDOM_MULTIPLIER);
     if (TEST_NIGHTLY) addVmOpt(b, SYSPROP_NIGHTLY, TEST_NIGHTLY);
     if (TEST_WEEKLY) addVmOpt(b, SYSPROP_WEEKLY, TEST_WEEKLY);
-    if (TEST_SLOW) addVmOpt(b, SYSPROP_SLOW, TEST_SLOW);
     if (TEST_MONSTER) addVmOpt(b, SYSPROP_MONSTER, TEST_MONSTER);
     if (TEST_AWAITSFIX) addVmOpt(b, SYSPROP_AWAITSFIX, TEST_AWAITSFIX);