Class PageCacheBackpressureTimeoutException
Page cache allocation timed out: no slot became evictable within the back-pressure timeout. The counts say what held them — pages owed a write (the checkpoint behind the writers), pages under dirty marks (write sets still in flight), pages only an epoch pin keeps — and the message names the dominant one. Transient: it clears once that holder lets go, but it also means the work exceeded what the cache and the disk could absorb in time.
public class PageCacheBackpressureTimeoutException : TyphonTimeoutException, ISerializable
- Inheritance
-
PageCacheBackpressureTimeoutException
- Implements
- Inherited Members
Constructors
PageCacheBackpressureTimeoutException(int, int, TimeSpan)
Creates a new PageCacheBackpressureTimeoutException capturing the cache pressure at the time of the timeout.
public PageCacheBackpressureTimeoutException(int dirtyPageCount, int epochProtectedCount, TimeSpan waitDuration)
Parameters
dirtyPageCountintPages owed a write (writeback debt) when the timeout fired.
epochProtectedCountintPages an epoch pin protects (whatever else holds them) when the timeout fired.
waitDurationTimeSpanHow long the allocation waited before the timeout fired.
PageCacheBackpressureTimeoutException(int, int, TimeSpan, int, long)
Creates a new PageCacheBackpressureTimeoutException capturing the cache pressure and the epoch pins at the time of the timeout.
public PageCacheBackpressureTimeoutException(int dirtyPageCount, int epochProtectedCount, TimeSpan waitDuration, int pinnedThreads, long oldestPinLag)
Parameters
dirtyPageCountintPages owed a write (writeback debt) when the timeout fired.
epochProtectedCountintPages an epoch pin protects (whatever else holds them) when the timeout fired.
waitDurationTimeSpanHow long the allocation waited before the timeout fired.
pinnedThreadsintThreads holding an epoch pin when the timeout fired.
oldestPinLaglongHow many epochs the oldest pin is behind the global epoch.
PageCacheBackpressureTimeoutException(int, int, TimeSpan, int, long, int, int)
Creates a new PageCacheBackpressureTimeoutException with the cache's full breakdown, taken in one pass when the timeout fired.
public PageCacheBackpressureTimeoutException(int dirtyPageCount, int epochProtectedCount, TimeSpan waitDuration, int pinnedThreads, long oldestPinLag, int markedPageCount, int epochOnlyCount)
Parameters
dirtyPageCountintPages owed a write (writeback debt).
epochProtectedCountintPages an epoch pin protects, whatever else holds them.
waitDurationTimeSpanHow long the allocation waited before the timeout fired.
pinnedThreadsintThreads holding an epoch pin.
oldestPinLaglongHow many epochs the oldest pin is behind the global epoch.
markedPageCountintPages under a dirty mark: a write set still in flight; -1 when not captured.
epochOnlyCountintPages nothing but an epoch pin holds.
Properties
DirtyPageCount
Pages owed a write (writeback debt) when the timeout fired: the checkpoint had not written them back yet.
public int DirtyPageCount { get; }
Property Value
EpochOnlyCount
Pages nothing but an epoch pin held when the timeout fired.
public int EpochOnlyCount { get; }
Property Value
EpochProtectedCount
Pages an epoch pin protected when the timeout fired, whatever else held them.
public int EpochProtectedCount { get; }
Property Value
MarkedPageCount
Pages under a dirty mark (a write set still in flight) when the timeout fired; -1 when not captured.
public int MarkedPageCount { get; }
Property Value
OldestPinLag
How many epochs the oldest pin was behind the global epoch when the timeout fired.
public long OldestPinLag { get; }
Property Value
PinnedThreads
Threads holding an epoch pin when the timeout fired; 0 when not captured.
public int PinnedThreads { get; }