public class PagesWriteSpeedBasedThrottle extends Object implements PagesWriteThrottlePolicy
LOGGING_THRESHOLD| Constructor and Description |
|---|
PagesWriteSpeedBasedThrottle(PageMemoryImpl pageMemory,
CheckpointWriteProgressSupplier cpProgress,
CheckpointLockStateChecker stateChecker,
IgniteLogger log) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
doPark(long throttleParkTimeNs)
Disables the current thread for thread scheduling purposes.
|
long |
getCpWriteSpeed() |
double |
getCurrDirtyRatio() |
long |
getLastEstimatedSpeedForMarkAll() |
long |
getMarkDirtySpeed() |
double |
getTargetDirtyRatio() |
void |
onBeginCheckpoint()
Callback to notify throttling policy checkpoint was started.
|
void |
onFinishCheckpoint()
Callback to notify throttling policy checkpoint was finished.
|
void |
onMarkDirty(boolean isPageInCheckpoint)
Callback to apply throttling delay.
|
long |
throttleParkTime() |
double |
throttleWeight()
Measurement shows how much throttling time is involved into average marking time.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waittryWakeupThrottledThreadspublic PagesWriteSpeedBasedThrottle(PageMemoryImpl pageMemory, CheckpointWriteProgressSupplier cpProgress, CheckpointLockStateChecker stateChecker, IgniteLogger log)
pageMemory - Page memory.cpProgress - Database manager.stateChecker - Checkpoint lock state provider.log - Logger.public void onMarkDirty(boolean isPageInCheckpoint)
onMarkDirty in interface PagesWriteThrottlePolicyisPageInCheckpoint - flag indicating if current page is in scope of current checkpoint.protected void doPark(long throttleParkTimeNs)
throttleParkTimeNs - the maximum number of nanoseconds to waitpublic void onBeginCheckpoint()
onBeginCheckpoint in interface PagesWriteThrottlePolicypublic void onFinishCheckpoint()
onFinishCheckpoint in interface PagesWriteThrottlePolicypublic long throttleParkTime()
public double getTargetDirtyRatio()
public double getCurrDirtyRatio()
public long getMarkDirtySpeed()
public long getCpWriteSpeed()
public long getLastEstimatedSpeedForMarkAll()
speedForMarkAll.public double throttleWeight()
Follow @ApacheIgnite
Ignite Database and Caching Platform : ver. 2.8.1 Release Date : May 21 2020