Replication Server attempts to group similar transactions to process them as one, larger transaction. In this way, Replication Server can issue one commit for the group rather than committing each individual transaction. A group of transactions is complete and sent to the next available DSI executor thread when one of several criteria is met. For example:
The next transaction has been issued from a different origin.
The number of transactions in the group exceeds the value specified by dsi_max_xacts_in_group.
The total size, in bytes, of the transactions in the group exceeds the value specified by dsi_xact_group_size.
The next transaction is a large transaction, which is always grouped by itself.
A transaction partitioning rule determines that the next transaction cannot be grouped with the existing group.
Once a group is complete, it can be sent to the next available DSI executor thread. Only committed transactions can be added to a group. That is, transactions are not added to the transaction group until their commit record is read.