public class PagesWriteThrottle extends Object implements PagesWriteThrottlePolicy
CP_BUF_FILL_THRESHOLD, DFLT_THROTTLE_LOG_THRESHOLD, LOGGING_THRESHOLD| Constructor and Description |
|---|
PagesWriteThrottle(PageMemoryImpl pageMemory,
IgniteOutClosure<CheckpointProgress> cpProgress,
CheckpointLockStateChecker stateChecker,
boolean throttleOnlyPagesInCheckpoint,
IgniteLogger log) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
isCpBufferOverflowThresholdExceeded()
Whether Checkpoint Buffer is currently close to exhaustion.
|
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.
|
void |
wakeupThrottledThreads()
Callback to wakeup throttled threads.
|
public PagesWriteThrottle(PageMemoryImpl pageMemory, IgniteOutClosure<CheckpointProgress> cpProgress, CheckpointLockStateChecker stateChecker, boolean throttleOnlyPagesInCheckpoint, IgniteLogger log)
pageMemory - Page memory.cpProgress - Database manager.stateChecker - checkpoint lock state checker.throttleOnlyPagesInCheckpoint - If true, throttle will only protect from checkpoint buffer overflow.log - Logger.public void onMarkDirty(boolean isPageInCheckpoint)
onMarkDirty in interface PagesWriteThrottlePolicyisPageInCheckpoint - flag indicating if current page is in scope of current checkpoint.public void wakeupThrottledThreads()
wakeupThrottledThreads in interface PagesWriteThrottlePolicypublic void onBeginCheckpoint()
onBeginCheckpoint in interface PagesWriteThrottlePolicypublic void onFinishCheckpoint()
onFinishCheckpoint in interface PagesWriteThrottlePolicypublic boolean isCpBufferOverflowThresholdExceeded()
isCpBufferOverflowThresholdExceeded in interface PagesWriteThrottlePolicytrue if measures like throttling to protect Checkpoint Buffer should be applied,
and false otherwise.
Follow @ApacheIgnite
Ignite Database and Caching Platform : ver. 2.15.0 Release Date : April 25 2023