Class TransactionExceedsPageCacheException
A commit needs more of the page cache than the cache has: the pages it holds itself — its own dirty marks, and the pages its own epoch pin keeps — fill every slot a wait could get back, so no amount of waiting can serve it. Thrown before the commit's WAL append; the transaction is rolled back. Not transient: the same commit fails the same way. Commit in smaller batches, or enlarge the page cache.
public class TransactionExceedsPageCacheException : StorageException, ISerializable
- Inheritance
-
TransactionExceedsPageCacheException
- Implements
- Inherited Members
Constructors
TransactionExceedsPageCacheException(int, int, int, int)
Creates a new TransactionExceedsPageCacheException.
public TransactionExceedsPageCacheException(int heldPages, int cachePages, int markedPages, int pinnedPages)
Parameters
heldPagesintPages the commit held when it was refused: its marks and its pin's pages, each counted once.
cachePagesintPages in the cache.
markedPagesintPages under the commit's own dirty marks.
pinnedPagesintPages kept by the commit's own epoch pin, the cache's floor; 0 when its pin was not the floor.
Properties
CachePages
Pages in the cache.
public int CachePages { get; }
Property Value
HeldPages
Pages the commit held when it was refused: its marks and its pin's pages, each counted once.
public int HeldPages { get; }
Property Value
MarkedPages
Pages under the commit's own dirty marks.
public int MarkedPages { get; }
Property Value
PinnedPages
Pages kept by the commit's own epoch pin, the cache's floor; 0 when its pin was not the floor.
public int PinnedPages { get; }