Class 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.
    • Field Detail

      • closed

        protected boolean closed
    • Constructor Detail

      • SolrCoreState

        public SolrCoreState()
    • Method Detail

      • getUpdateLock

        public Object getUpdateLock()
      • getReloadLock

        public Object getReloadLock()
      • increfSolrCoreState

        public void increfSolrCoreState()
      • 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<org.apache.lucene.index.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 org.apache.lucene.search.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.
      • cancelRecovery

        public abstract void cancelRecovery()
      • 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()
      • getCdcrBootstrapRunning

        public abstract boolean getCdcrBootstrapRunning()
      • setCdcrBootstrapRunning

        public abstract void setCdcrBootstrapRunning​(boolean cdcrRunning)
      • getCdcrBootstrapFuture

        public abstract Future<Boolean> getCdcrBootstrapFuture()
      • setCdcrBootstrapFuture

        public abstract void setCdcrBootstrapFuture​(Future<Boolean> cdcrBootstrapFuture)
      • getCdcrBootstrapCallable

        public abstract Callable getCdcrBootstrapCallable()
      • setCdcrBootstrapCallable

        public abstract void setCdcrBootstrapCallable​(Callable cdcrBootstrapCallable)