Interface IReprioritizationTracker
-
- All Known Implementing Classes:
ReprioritizationTracker
public interface IReprioritizationTrackerThis 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.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String_rcsid
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddPreloadRequest(java.lang.String connectorClass, java.lang.String binName, double weightedMinimumDepth)Note preload amounts.voidassessMinimumDepth(java.lang.Double[] binNamesSet)Assess the current minimum depth.voidclearPreloadedValues()Clear remaining preloaded values.voidclearPreloadRequests()Clear any preload requests.voiddoneReprioritization(java.lang.String reproID)Complete a reprioritization activity.doublegetIncrementBinValue(java.lang.String connectorClass, java.lang.String binName, double weightedMinimumDepth)Get a bin value.doublegetMinimumDepth()Retrieve current minimum depth.java.lang.StringisSpecifiedProcessReprioritizing(java.lang.String processID)Check if the specified processID is the one performing reprioritization.voidpreloadBinValues()Preload bin values.voidstartReprioritization(java.lang.String processID, java.lang.String reproID)Start a reprioritization activity.
-
-
-
Field Detail
-
_rcsid
static final java.lang.String _rcsid
- See Also:
- Constant Field Values
-
-
Method Detail
-
startReprioritization
void startReprioritization(java.lang.String processID, java.lang.String reproID) throws ManifoldCFExceptionStart 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 ManifoldCFExceptionComplete 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 ManifoldCFExceptionCheck 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 ManifoldCFExceptionAssess 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
-
getMinimumDepth
double getMinimumDepth() throws ManifoldCFExceptionRetrieve current minimum depth.- Returns:
- the current minimum depth to use.
- Throws:
ManifoldCFException
-
addPreloadRequest
void addPreloadRequest(java.lang.String connectorClass, java.lang.String binName, double weightedMinimumDepth)Note preload amounts.
-
preloadBinValues
void preloadBinValues() throws ManifoldCFExceptionPreload bin values. Call this OUTSIDE of a transaction.- Throws:
ManifoldCFException
-
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 ManifoldCFExceptionGet 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
-
-