Error 820



Message text

Attempt to dirty non-log buffer %S_BUF which is in I/O.


Adaptive Server uses buffers to manage physical pages while they are in memory. When a page is read into memory from the disk, a buffer header is assigned to it. The header tracks the usage and contents of the page image.

The buffers themselves are grouped together to form Memory Address Space Segments (MASSes). A buffer cache consists of MASSes linked in MRU/LRU (most recently used/least recently used) chains.

A buffer that was changed while in cache and has not yet been written to disk is known as a dirty buffer.

Error 820 is raised when the server detects that an invalid operation has been performed on a buffer or MASS. The error is raised in the following states:




Attempted to mark as dirty a MASS that is currently being written.


Object ID mismatch detected when linking a buffer to the chain.


MASS found to belong to a different database. This state is only raised by diagserver.


Buffer is being changed but the page residing in the buffer does not belong to the transaction log as expected.


Buffer pinning to a cache is invalid with respect to transaction state.


Attempted to pin a buffer to a cache while the buffer is pinned to a different cache.

Some scenarios in which this error may be raised include:


Call Sybase Technical Support.

Versions in which this error is raised

All versions