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.
-
-
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 void
addPreloadRequest(java.lang.String connectorClass, java.lang.String binName, double weightedMinimumDepth)
Note preload amounts.void
assessMinimumDepth(java.lang.Double[] binNamesSet)
Assess the current minimum depth.void
clearPreloadedValues()
Clear remaining preloaded values.void
clearPreloadRequests()
Clear any preload requests.void
doneReprioritization(java.lang.String reproID)
Complete a reprioritization activity.double
getIncrementBinValue(java.lang.String connectorClass, java.lang.String binName, double weightedMinimumDepth)
Get a bin value.double
getMinimumDepth()
Retrieve current minimum depth.java.lang.String
isSpecifiedProcessReprioritizing(java.lang.String processID)
Check if the specified processID is the one performing reprioritization.void
preloadBinValues()
Preload bin values.void
startReprioritization(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 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
-
getMinimumDepth
double getMinimumDepth() throws ManifoldCFException
Retrieve 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 ManifoldCFException
Preload 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 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
-
-