org.apache.lucene.search

## Class ShardSearchingTestBase

- java.lang.Object
- - org.junit.Assert
  - - org.apache.lucene.util.LuceneTestCase
    - - org.apache.lucene.search.ShardSearchingTestBase

    public abstract class ShardSearchingTestBase
    extends LuceneTestCase

Base test class for simulating distributed search across multiple shards.

### Nested Class Summary

Nested Classes
`protected class` `ShardSearchingTestBase.NodeState`
`protected static class` `ShardSearchingTestBase.SearcherAndVersion` An IndexSearcher and associated version (lease)
`static class` `ShardSearchingTestBase.SearcherExpiredException` Thrown when the lease for a searcher has expired.

### Nested classes/interfaces inherited from class org.apache.lucene.util.LuceneTestCase

`LuceneTestCase.AwaitsFix, LuceneTestCase.BadApple, LuceneTestCase.Nightly, LuceneTestCase.Slow, LuceneTestCase.SuppressCodecs, LuceneTestCase.Weekly`

### Field Summary

Fields
`protected ShardSearchingTestBase.NodeState[]` `nodes`

### Fields inherited from class org.apache.lucene.util.LuceneTestCase

`classRules, DEFAULT_LINE_DOCS_FILE, doesntSupportOffsets, INFOSTREAM, JENKINS_LARGE_LINE_DOCS_FILE, PREFLEX_IMPERSONATION_IS_ACTIVE, RANDOM_MULTIPLIER, ruleChain, suiteFailureMarker, SYSPROP_AWAITSFIX, SYSPROP_BADAPPLES, SYSPROP_NIGHTLY, SYSPROP_SLOW, SYSPROP_WEEKLY, TEMP_DIR, TEST_AWAITSFIX, TEST_CODEC, TEST_DIRECTORY, TEST_DOCVALUESFORMAT, TEST_LINE_DOCS_FILE, TEST_NIGHTLY, TEST_POSTINGSFORMAT, TEST_SLOW, TEST_THROTTLING, TEST_VERSION_CURRENT, TEST_WEEKLY, VERBOSE`

### Constructor Summary

Constructors
Constructor and Description
`ShardSearchingTestBase()`

### Method Summary

Methods
`protected void` `finish()`
`protected void` `start(int numNodes, double runTimeSec, int maxSearcherAgeSeconds)`

### Methods inherited from class org.apache.lucene.util.LuceneTestCase

`assertSaneFieldCaches, asSet, assumeFalse, assumeNoException, assumeTrue, atLeast, atLeast, closeAfterSuite, closeAfterTest, defaultCodecSupportsDocValues, defaultCodecSupportsSortedSet, dumpArray, dumpIterator, getDataFile, getOnlySegmentReader, getTestClass, getTestName, isTestThread, localeForName, maybeWrapReader, newAlcoholicMergePolicy, newAlcoholicMergePolicy, newDirectory, newDirectory, newDirectory, newDirectory, newField, newField, newFSDirectory, newFSDirectory, newIndexWriterConfig, newIndexWriterConfig, newIOContext, newIOContext, newLogMergePolicy, newLogMergePolicy, newLogMergePolicy, newLogMergePolicy, newLogMergePolicy, newMockDirectory, newMockDirectory, newMockFSDirectory, newSearcher, newSearcher, newStringField, newStringField, newTextField, newTextField, newTieredMergePolicy, newTieredMergePolicy, random, randomLocale, randomTimeZone, rarely, rarely, setUp, tearDown, usually, usually`

### Methods inherited from class org.junit.Assert

`assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertThat, assertThat, assertTrue, assertTrue, fail, fail`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### nodes

    protected ShardSearchingTestBase.NodeState[] nodes

### Constructor Detail

#### ShardSearchingTestBase

    public ShardSearchingTestBase()

### Method Detail

#### start

    protected void start(int numNodes,
             double runTimeSec,
             int maxSearcherAgeSeconds)
                  throws IOException

Throws:
  `IOException`

#### finish

    protected void finish()
                   throws InterruptedException,
                          IOException

Throws:
  `InterruptedException`
  `IOException`