public abstract class Evictor extends DaemonThread
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
SOURCE_CRITICAL |
static java.lang.String |
SOURCE_DAEMON |
static java.lang.String |
SOURCE_MANUAL |
name, nWakeupRequests, stifleExceptionChatter
Modifier and Type | Method and Description |
---|---|
abstract void |
addEnvironment(EnvironmentImpl envImpl)
Only supported by SharedEvictor.
|
void |
alert()
Wakeup the evictor only if it's not already active.
|
abstract boolean |
checkEnvs(java.util.Set<EnvironmentImpl> envs)
Only supported by SharedEvictor.
|
abstract void |
clearEnv()
Standard daemon method to set envImpl to null.
|
void |
doCriticalEviction(boolean backgroundIO)
Do a check on whether synchronous eviction is needed.
|
void |
doEvict(java.lang.String source)
May be called by the evictor thread on wakeup or programatically.
|
void |
loadStats(StatsConfig config,
EnvironmentStats stat)
Load stats.
|
protected long |
nDeadlockRetries()
Return the number of retries when a deadlock exception occurs.
|
int |
normalizeLevel(IN in,
int evictType)
Normalize the tree level of the given IN.
|
abstract void |
noteINListChange(int nINs)
Called whenever INs are added to, or removed from, the INList.
|
void |
onWakeup()
Called whenever the daemon thread wakes up from a sleep.
|
abstract void |
removeEnvironment(EnvironmentImpl envImpl)
Only supported by SharedEvictor.
|
void |
setRunnableHook(TestHook hook) |
checkErrorListener, getExceptionListener, getNWakeupRequests, getThread, isPaused, isRunning, isShutdownRequested, requestShutdown, run, runOrPause, setExceptionListener, shutdown, toString, wakeup
public static final java.lang.String SOURCE_DAEMON
public static final java.lang.String SOURCE_MANUAL
public static final java.lang.String SOURCE_CRITICAL
public void loadStats(StatsConfig config, EnvironmentStats stat) throws DatabaseException
DatabaseException
protected long nDeadlockRetries() throws DatabaseException
nDeadlockRetries
in class DaemonThread
DatabaseException
public void alert()
public void onWakeup() throws DatabaseException
onWakeup
in class DaemonThread
DatabaseException
public void doEvict(java.lang.String source) throws DatabaseException
DatabaseException
public void doCriticalEviction(boolean backgroundIO) throws DatabaseException
DatabaseException
public int normalizeLevel(IN in, int evictType)
public void setRunnableHook(TestHook hook)
public abstract void clearEnv()
public abstract void noteINListChange(int nINs)
public abstract void addEnvironment(EnvironmentImpl envImpl)
public abstract void removeEnvironment(EnvironmentImpl envImpl)
public abstract boolean checkEnvs(java.util.Set<EnvironmentImpl> envs)