Queue management

Each queue is managed by a Stable Queue Manager (SQM) thread. Threads are subprocesses that manage specific tasks, such as receiving messages. Some queues also have an additional Stable Queue Transaction (SQT) thread. See “Processing in the primary Replication Server” on page 130 in the Replication Server Administration Guide Volume 2 for details on the SQM and SQT threads.

When transactions are ready to leave the stable queue, one of these threads submits the transactions in the queue:

The enhanced queue dump commands, gives you flexibility in identifying the stable queues, controlling the stable queue contents to dump, and supporting additional output file options. Replication Server also introduces commands that allow you to delete and restore specific transactions from the SQM.

These are the commands that you can use for managing stable queues:

See the Replication Server Reference Manual for detailed information about these commands.


DSI thread

The DSI thread translates the transaction modifications into RPCs or the language as specified by the function strings in the function-string class assigned to the destination database.

Replication Server starts DSI threads to submit transactions to a replicate database to which it has a connection.

The DSI thread performs the following tasks:

To improve performance in sending transactions from a Replication Server to a replicate database, you can configure a database connection so that transactions are applied using multiple DSI threads. See “Using parallel DSI threads” on page 158 in the Replication Server Administration Guide Volume 2 for a description of this feature.

Replication Server version 15.2 introduces support for bulk copy-in to improve performance when replicating large batches of insert statements on the same table in Adaptive Server® Enterprise 12.0 and later. Replication Server implements bulk copy-in using the Open Client™ Open Server™ Bulk-Library. See ““Support for DSI bulk copy-in” on page 185 in the Replication Server Administration Guide Volume 2.

The DSI thread may apply a mixture of transactions from all data sources supported by the Replication Server. The transactions are processed in the single outbound stable queue for the destination data server.


RSI thread

RSI threads send messages from one Replication Server to another. There is one RSI thread for each destination Replication Server.

The primary Replication Server processes transactions, causing those destined for other Replication Servers to be written to RSI outbound queues. An RSI thread logs in to each destination Replication Server and transfers messages from the stable queue to the destination Replication Server.

When a direct route is created from one Replication Server to another, an RSI thread in the source Replication Server logs in to the destination Replication Server. When an indirect route is created, Replication Server does not create a new stable queue and RSI thread. Messages for indirect routes are handled by the RSI thread for the direct route. For more information, see “Establishing Replication Server connections”.