org.apache.solr.update

## Class SolrCoreState

- java.lang.Object
- - org.apache.solr.update.SolrCoreState

- Direct Known Subclasses:
    DefaultSolrCoreState

      public abstract class SolrCoreState
      extends Object

  The state in this class can be easily shared between SolrCores across SolrCore reloads.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `SolrCoreState.CoreIsClosedException`
    `static interface` | `SolrCoreState.IndexWriterCloser`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected boolean` | `closed`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SolrCoreState()`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract void` | `cancelRecovery()`
    `abstract void` | `close(SolrCoreState.IndexWriterCloser closer)`
    `abstract void` | `closeIndexWriter(SolrCore core, boolean rollback)` Expert method that closes the IndexWriter - you must call `openIndexWriter(SolrCore)` in a finally block after calling this method.
    `boolean` | `decrefSolrCoreState(SolrCoreState.IndexWriterCloser closer)`
    `abstract void` | `doRecovery(CoreContainer cc, CoreDescriptor cd)`
    `abstract Lock` | `getCommitLock()`
    `abstract DirectoryFactory` | `getDirectoryFactory()`
    `abstract RefCounted<IndexWriter>` | `getIndexWriter(SolrCore core)` Get the current IndexWriter.
    `abstract boolean` | `getLastReplicateIndexSuccess()`
    `abstract ActionThrottle` | `getLeaderThrottle()`
    `abstract Sort` | `getMergePolicySort()` Get the current Sort of the current IndexWriter's MergePolicy..
    `abstract Lock` | `getRecoveryLock()`
    `Object` | `getUpdateLock()`
    `void` | `increfSolrCoreState()`
    `abstract void` | `newIndexWriter(SolrCore core, boolean rollback)` Force the creation of a new IndexWriter using the settings from the given SolrCore.
    `abstract void` | `openIndexWriter(SolrCore core)` Expert method that opens the IndexWriter - you must call `closeIndexWriter(SolrCore, boolean)` first, and then call this method in a finally block.
    `abstract void` | `rollbackIndexWriter(SolrCore core)` Rollback the current IndexWriter.
    `abstract void` | `setLastReplicateIndexSuccess(boolean success)`

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

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

- - ### Field Detail

    - #### closed

          protected boolean closed

  - ### Constructor Detail

    - #### SolrCoreState

          public SolrCoreState()

  - ### Method Detail

    - #### getUpdateLock

          public Object getUpdateLock()

    - #### increfSolrCoreState

          public void increfSolrCoreState()

    - #### decrefSolrCoreState

          public boolean decrefSolrCoreState(SolrCoreState.IndexWriterCloser closer)

    - #### getCommitLock

          public abstract Lock getCommitLock()

    - #### newIndexWriter

          public abstract void newIndexWriter(SolrCore core,
                                              boolean rollback)
                                       throws IOException

      Force the creation of a new IndexWriter using the settings from the given SolrCore.
      Parameters:
        `rollback` - close IndexWriter if false, else rollback
      Throws:
        `IOException` - If there is a low-level I/O error.

    - #### closeIndexWriter

          public abstract void closeIndexWriter(SolrCore core,
                                                boolean rollback)
                                         throws IOException

      Expert method that closes the IndexWriter - you must call `openIndexWriter(SolrCore)` in a finally block after calling this method.
      Parameters:
        `core` - that the IW belongs to
        `rollback` - true if IW should rollback rather than close
      Throws:
        `IOException` - If there is a low-level I/O error.

    - #### openIndexWriter

          public abstract void openIndexWriter(SolrCore core)
                                        throws IOException

      Expert method that opens the IndexWriter - you must call `closeIndexWriter(SolrCore, boolean)` first, and then call this method in a finally block.
      Parameters:
        `core` - that the IW belongs to
      Throws:
        `IOException` - If there is a low-level I/O error.

    - #### getIndexWriter

          public abstract RefCounted<IndexWriter> getIndexWriter(SolrCore core)
                                                          throws IOException

      Get the current IndexWriter. If a new IndexWriter must be created, use the settings from the given `SolrCore`.
      Throws:
        `IOException` - If there is a low-level I/O error.

    - #### rollbackIndexWriter

          public abstract void rollbackIndexWriter(SolrCore core)
                                            throws IOException

      Rollback the current IndexWriter. When creating the new IndexWriter use the settings from the given `SolrCore`.
      Throws:
        `IOException` - If there is a low-level I/O error.

    - #### getMergePolicySort

          public abstract Sort getMergePolicySort()
                                           throws IOException

      Get the current Sort of the current IndexWriter's MergePolicy..
      Throws:
        `IOException` - If there is a low-level I/O error.

    - #### getDirectoryFactory

          public abstract DirectoryFactory getDirectoryFactory()

      Returns:
        the `DirectoryFactory` that should be used.

    - #### doRecovery

          public abstract void doRecovery(CoreContainer cc,
                                          CoreDescriptor cd)

    - #### cancelRecovery

          public abstract void cancelRecovery()

    - #### close

          public abstract void close(SolrCoreState.IndexWriterCloser closer)

    - #### getLeaderThrottle

          public abstract ActionThrottle getLeaderThrottle()

      Returns:
        throttle to limit how fast a core attempts to become leader

    - #### getLastReplicateIndexSuccess

          public abstract boolean getLastReplicateIndexSuccess()

    - #### setLastReplicateIndexSuccess

          public abstract void setLastReplicateIndexSuccess(boolean success)

    - #### getRecoveryLock

          public abstract Lock getRecoveryLock()

Copyright © 2000-2016 Apache Software Foundation. All Rights Reserved.