Table of Contents

Class TransactionExceedsPageCacheException

Namespace
Typhon.Engine
Assembly
Typhon.Engine.dll

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)

public TransactionExceedsPageCacheException(int heldPages, int cachePages, int markedPages, int pinnedPages)

Parameters

heldPages int

Pages the commit held when it was refused: its marks and its pin's pages, each counted once.

cachePages int

Pages in the cache.

markedPages int

Pages under the commit's own dirty marks.

pinnedPages int

Pages 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

int

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

int

MarkedPages

Pages under the commit's own dirty marks.

public int MarkedPages { get; }

Property Value

int

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; }

Property Value

int