Read buffer size

The Replication Agent for UDB LogReader component uses the value of the max_ops_per_scan parameter to determine the maximum number of bytes to be read from the transaction log during each scan. Because the LogReader reads bytes, it requires a buffer to store the bytes read.

The LogReader component determines the maximum size of this buffer by multiplying the value of the max_ops_per_scan parameter by 10. For example, if the value of the max_ops_per_scan parameter is 1000 (the default), the size of the LogReader read buffer is 10,000 bytes.

It is very difficult to identify a minimum buffer size that will always work. The value range of max_ops_per_scan is 25 to 2,147,483,647, which means the smallest size of the buffer is 250 bytes.

If the read buffer size is too small to read one operation, LogReader shuts down the Replication Agent instance and reports a -30081 error.

(Unfortunately, this includes general communication errors, not just an insufficient buffer size.)