Interface IReprioritizationTracker

  • All Known Implementing Classes:
    ReprioritizationTracker

    public interface IReprioritizationTracker
    This interface represents functionality that tracks cluster-wide reprioritization operations. These operations are driven forward by whatever thread needs them, and are completed if those processes die by the threads that clean up after the original process.
    • Method Detail

      • startReprioritization

        void startReprioritization​(java.lang.String processID,
                                   java.lang.String reproID)
                            throws ManifoldCFException
        Start a reprioritization activity.
        Parameters:
        processID - is the process ID of the process performing/waiting for the prioritization to complete.
        reproID - is the reprocessing thread ID
        Throws:
        ManifoldCFException
      • doneReprioritization

        void doneReprioritization​(java.lang.String reproID)
                           throws ManifoldCFException
        Complete a reprioritization activity. Prioritization will be marked as complete only if the processID matches the one that started the current reprioritization.
        Parameters:
        reproID - is the process ID of the process completing the prioritization.
        Throws:
        ManifoldCFException
      • isSpecifiedProcessReprioritizing

        java.lang.String isSpecifiedProcessReprioritizing​(java.lang.String processID)
                                                   throws ManifoldCFException
        Check if the specified processID is the one performing reprioritization.
        Parameters:
        processID - is the process ID to check.
        Returns:
        the repro ID if the processID is confirmed to be the one.
        Throws:
        ManifoldCFException
      • assessMinimumDepth

        void assessMinimumDepth​(java.lang.Double[] binNamesSet)
                         throws ManifoldCFException
        Assess the current minimum depth. This method is called to provide information about the priorities of the documents being currently queued. It is the case that it is unoptimal to assign document priorities that are fundamentally higher than this value, because then the new documents will be preferentially queued, and the goal of distributing documents across bins will not be adequately met.
        Parameters:
        binNamesSet - is the current set of priorities we see on the queuing operation.
        Throws:
        ManifoldCFException
      • addPreloadRequest

        void addPreloadRequest​(java.lang.String connectorClass,
                               java.lang.String binName,
                               double weightedMinimumDepth)
        Note preload amounts.
      • clearPreloadRequests

        void clearPreloadRequests()
        Clear any preload requests.
      • clearPreloadedValues

        void clearPreloadedValues()
        Clear remaining preloaded values.
      • getIncrementBinValue

        double getIncrementBinValue​(java.lang.String connectorClass,
                                    java.lang.String binName,
                                    double weightedMinimumDepth)
                             throws ManifoldCFException
        Get a bin value. Must be called INSIDE a transaction.
        Parameters:
        connectorClass - is the connector class name.
        binName - is the bin name.
        weightedMinimumDepth - is the minimum depth to use.
        Returns:
        the bin value.
        Throws:
        ManifoldCFException