Stable Queues

Stable queues temporarily store messages passed by the replication system. Examining the stable queue dump can help determine the cause of a replication system error.

Stable queues are composed of segments stored on disk partitions. Each segment has a megabyte of message space, divided into 64 blocks of 16KB. Segments store messages passed by the system. Each block in a segment corresponds to a physical data transfer between disk and memory. A segment is allocated to only one queue—different queues cannot share segments. Each block within a segment may store one or more messages. A map of the system segments is stored in the rs_segments table of the Replication Server System Database (RSSD).

Replication Server deletes messages from queues on a segment basis. Internally, it deletes blocks from the segments. However, the freed space does not appear in the system tables until all of the blocks contained in the 1MB segment are deleted.

These are some of the stable queue commands you can use:

When a stable queue is dumped, a segment may contain deleted blocks along with the undeleted blocks. You can identify the undeleted blocks of a segment by checking the First Seg.Block column in the admin who, sqm output for the queue.

Sometimes queues are dumped while Replication Server is actively adding and deleting segments from the queues. At such times, the output of the admin who, sqm command may not accurately represent the contents of the stable queues. Segments may be deleted before you can enter the sysadmin dump_queue command. To prevent Replication Server from changing a stable queue while you examine its contents, you can suspend the database connection or route that uses the stable queue. You can also start the Replication Server in standalone mode to prevent changes to a stable queue. See the Replication Server Administration Guide Volume 2.

For information about the stable queue commands, see Replication Server Reference Manual.