Error 820

Severity

21

Message text

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

Explanation

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:

State

Meaning

1

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

2

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

3

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

4

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

5

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

6

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:

Action

Call Sybase Technical Support.

Versions in which this error is raised

All versions